在Eclipse项目中查找方法调用


83

我有一个包含方法myMethod()的X类。我想在当前工作区的所有项目中找到调用myMethod()的位置。我无法使用任何搜索功能,因为myMethod()有多个类,并且它不是静态的。因此,我需要知道此类的对象的名称,如果没有手动浏览这些项目,这是不可能的。

Eclipse是否有解决方案?


Answers:


115

转到X.java中的方法,然后从上下文菜单中选择“打开呼叫层次结构”。


11
我不知道这个。我正在使用CTRL-G快捷方式,但它不起作用,因为它不会导致有问题的方法从同一类的另一个方法中调用。任何想法为什么会这样?...没关系!CTRL-SHIFT-G用于查找引用,CTRL-G用于查找声明!:S
Xonatron 2012年

4
在我这里的月食(火星)中,快捷方式是ctrl + alt + h :)
thekucays

我尝试了所有可能找到的内容,例如Ctrl + Shift + G,Ctrl + Alt + H以及更多,但所有内容都向我显示“资源不在Java项目的构建路径上”。因此,没有任何工作。有人建议右键单击树中的项目,然后从上下文菜单中选择“构建路径”,但我看不到。我在日食光子上。谢谢
像素

51

选择mymethod()并按ctrl+ alt+ h

要查看有关任何方法的一些详细信息,可以通过选择特定的对象或方法并单击鼠标右键来使用此方法。您可以看到OpenCallHierarchyCtrl+ Alt+ H)。像那样,有很多工具可以使您的工作更轻松,例如“快速大纲”(Ctrl+ O),可以查看在特定.java文件中声明的数据类型和方法。

要了解更多有关此内容,请参阅此Eclipse参考


3
...这将打开呼叫层次结构。
Xonatron,2012年

我尝试了所有可能找到的内容,例如Ctrl + Shift + G,Ctrl + Alt + H,Ctrl + O以及更多,但所有内容都向我显示“资源不在Java项目的构建路径上”。因此,没有任何工作。有人建议右键单击树中的项目,然后从上下文菜单中选择“构建路径”,但我看不到。我在日食光子上。谢谢
像素

10

您也可以搜索特定的方法。例如,如果要搜索isEmpty()字符串类的方法,则必须-Search- > Java-> type,java.lang.String.isEmpty()然后在“ Search For”选项中使用Method

然后,您可以选择所需的范围。


9

将光标移到方法名称。右键单击并从弹出菜单中选择引用>项目或引用>工作区。


5
select method > right click > References > Workspace/Project (your preferred context ) 

要么

(Ctrl+Shift+G) 

这将显示一个Search视图,其中包含使用此方法的类和方法的层次结构。


3

右键单击方法,然后单击“打开呼叫层次结构”

蚀右键单击呼叫层次结构


我尝试了所有可能找到的内容,例如Ctrl + Shift + G,Ctrl + Alt + H以及更多,但所有内容都向我显示“资源不在Java项目的构建路径上”。因此,没有任何工作。有人建议右键单击树中的项目,然后从上下文菜单中选择“构建路径”,但我看不到。我在日食光子上。谢谢
像素

@pixel-请执行“ MVN全新安装”。然后再试一次。这可能是由于您的项目构建不正确而发生的。
Manjeet
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.