在Eclipse IDE中跳转到接口实现

147
你知道在Eclipse中,按下F3可以跳转到方法的声明吗?那么我有一个方法是接口的一部分;点击F3自然会跳转到该接口的声明处。
显然,有一个对象实现了这个接口,这也是方法实际实现的地方。当我按下F3时,我希望能跳转到实现,而不是接口声明。我知道在编译时可能无法知道实现方式,那么有办法让Eclipse展示实现了该接口的所有类,以便我选择要查看的实现方法吗?目前当这种情况发生时,我只能手动搜索以找到实现的方法。

4
Ctrl+T会弹出一个窗口,而F4则会打开一个窗口。 - Stephan
在Java中做任何事情都稍微有些不方便。试试在Visual Studio上使用.NET 6,这是一百万倍更好的体验。 :) - Ash K
11个回答

141

以下是我的操作步骤:

  • 在界面中,将光标移到方法名称上。按下 F4 键。=> 这时会出现“类型层次结构”视图
  • 在视图的下方,该方法应该已经被选中。在其工具栏中,单击“锁定视图并在层次结构中显示成员”(应该是最左边的工具栏图标)。
  • 在视图的上方,您可以浏览该方法的所有实现。

这个过程可能不是非常快,但它可以为您提供一个很好的概述。


133

嗯...嗯...我希望你使用Eclipse Helios,因为你所需的功能在Helios版本中是可用的。

将文本光标再次放在该方法上,并点击导航菜单→打开实现。如果该方法有多个实现,你将可以选择要打开哪一个实现。

alt text

通过在偏好设置→常规→键中定义一个键盘绑定,你甚至可以更轻松地使用此功能,但在这样做之前,请看看是否这个快捷键已经足够快速方便了。

按住Ctrl键并单击,然后将鼠标移到同一方法上面。塔达姆...你就会得到选择。

alt text

如果你选择打开实现,你将得到与之前相同的选择。


4
太棒了!这解决了一直困扰我的关于Eclipse的问题。 :) 非常感谢。 - brimborium
很好的提示!但是你也可以将光标悬停在上面,然后按下Ctrl键,然后从下拉菜单中选择 [在Eclipse Oxygen中]....我的意思是现在你可能不需要按住Ctrl + 单击了。 - old-monk

78

按下方法名称上的 Ctrl + T(而不是 F3)可以弹出类型层次结构,因此比使用 F4 和类型层次结构视图稍微快一些。

此外,在方法上执行此操作时,未实现/覆盖该方法的子类型将变灰,当您在列表中双击类时,它将立即带您到该类中的方法。


2
也可以很好地与键盘配合使用。只需按下CTRL+T并使用箭头键进行导航。按Enter跳转到实现。 - It's Leto

55

如果您为“打开实现”功能添加Alt+F3键绑定,并且只使用F3键转到接口,使用Alt+F3键转到实现,则可以大幅提高生产力。

打开实现键绑定


2
太棒了!谢谢。只是有点遗憾的是,Eclipse 只搜索一个层次级别。 - Snicolas
这个解决方案对我很有效。其他很多解决方案(特别是插件)都没有用。 - Nelda.techspiress
在 Eclipse Neon 中,Alt+F3 用于“增量查找”,我选择了 Alt+I。 - user7294900

15

选中一个接口,使用Ctrl+T打开“快速类型层次结构”。


14
ctrl + mouse hover + click "Open Implementation"

当按下Ctrl + 悬停时,您应该会看到以下菜单:

在此输入图片描述

在Eclipse Mars.2 (4.5.2)上测试通过。


3

这是我做的事情:

我按下命令键(Mac上可能是控制键),然后将鼠标悬停在方法或类上。当你这样做时,一个弹出窗口会出现,其中包含“打开声明”、“打开实现”、“打开返回类型”的选项。然后,您可以单击所需的选项,Eclipse会将您带到那里。我认为这适用于3.6及以上版本。

我认为这和IntelliJ一样快速。


2

谢谢,这也很有帮助。从那个链接中,你还可以按住“Ctrl”键点击方法,然后选择“打开实现”。这样更快。 - aeq

2

0
最好的解决方案是 Ctrl+Alt+I

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接