6

如果我在 Eclipse 中有一个 Java 项目,我可以右键单击方法名称并“打开调用层次结构”。假设我有两个接口 A 和 B,它们都指定了一个方法 x()。我是否可以让 Eclipse 以更智能的方式使用“Open Call Hierarchy”,以便只显示来自 A 的 x() 调用而不显示来自 B 的调用?

4

3 回答 3

6

Eclipse 应该已经这样做了。如果您想测试它,请转到您的A界面,选择x()方法并在其上运行“打开调用层次结构”。对接口B中的x()方法执行相同的操作。你应该得到不同的代码位置,除非你有一个实现两者的类,你不应该这样做。这样做不会破坏任何编译或执行,您只会双重声明相同的方法签名。

于 2011-01-10T18:33:38.077 回答
3

我已经用一个经常被覆盖的方法 toString() 尝试了这个。当我右键单击它并选择“Open Call Hierarchy”时,Eclipse 会愉快地搜索我的整个工作区并返回对该方法签名的所有引用。

我经常依赖 Eclipse 走相反的路:我选择一个方法调用,然后按 F3 打开声明。但我不认为 Eclipse 能够按照您想要的方向发展,从声明到调用引用。

于 2011-01-10T19:05:23.363 回答
3

从搜索结果中删除“潜在匹配”可能会有所帮助。试试这个:

Preferences -> General -> Search

并选中“忽略潜在匹配”。

于 2011-01-11T00:38:20.843 回答