如果我在Eclipse中有一个Java项目,我可以右键单击一个方法名称和“Open Call Hierarchy”。假设我有两个接口,A和B,它们都指定方法x()。我是否有可能让Eclipse以更智能的方式使用“Open Call Hierarchy”,以便只显示来自A的调用x()而不显示来自B的那些?
答案 0 :(得分:6)
Eclipse应该已经这样做了。如果要测试它,请转到 A 界面,选择 x()方法并在其上运行“打开调用层次结构”。对接口 B 中的 x()方法执行相同操作。您应该获得不同的代码位置,除非您有一个实现两者的类,您永远不应该这样做。这样做不会破坏任何编译或执行,你只需要加倍声明相同的方法签名。
答案 1 :(得分:3)
我用经常重写的方法toString()尝试了这个。当我右键单击它并选择“打开调用层次结构”时,Eclipse会愉快地搜索整个工作区并返回对该方法签名的所有引用。
我经常依赖Eclipse以相反的方式:我选择一个方法调用并按F3来打开声明。但是我不认为Eclipse能够从声明到调用引用去你想要的方向。
答案 2 :(得分:2)
从搜索结果中删除“潜在匹配”可能会有所帮助。试试这个:
Preferences -> General -> Search
并选中“忽略潜在匹配”。