Поиск вызовов методов в проекте Eclipse

83

У меня есть класс X, содержащий метод myMethod (). Я хотел бы найти места во всех проектах в моем текущем рабочем пространстве, где вызывается этот myMethod (). Я не могу использовать какие-либо функции поиска, так как есть несколько классов с myMethod (), и он не статичен. Следовательно, мне нужно знать имена объектов этого класса, что невозможно без ручного изучения проектов.

Есть ли у Eclipse решение для этого?

Шайлеш Тайнвала
источник
2
См. Также: stackoverflow.com/questions/4650021/…
Тило

Ответы:

115

Перейдите к методу в X.java и выберите Open Call Hierarchy из контекстного меню.

Тило
источник
11
Я этого не знал. Я использовал CTRL-Gярлык, и он не работал, так как это не привело бы к вызову рассматриваемого метода из другого метода того же класса. Есть идеи, почему это так? ...ничего! CTRL-SHIFT-Gдля поиска ссылок, CTRL-Gдля поиска объявлений! : S
Xonatron
4
в моем затмении здесь (марс) ярлык - ctrl + alt + h :)
thekucays
Я пробовал все, что мог найти, Ctrl + Shift + G, ctrl + Alt + H и многое другое, но все они показывают мне: «Ресурс не находится на пути сборки проекта Java». Итак, никто не работает. Кто-то предложил щелкнуть правой кнопкой мыши по проекту в дереве и выбрать «путь сборки» из контекстного меню, но я этого не вижу. Я на фотоне затмения. Спасибо
pixel
51

Выберите mymethod()и нажмите ctrl+ alt+ h.

Чтобы увидеть подробную информацию о любом методе, вы можете использовать это, выбрав этот конкретный объект или метод и щелкнув правой кнопкой мыши. вы можете увидеть « OpenCallHierarchy » ( Ctrl+ Alt+ H). Подобно этому, существует множество инструментов, облегчающих вашу работу, например, « Quick Outline » ( Ctrl+ O) для просмотра типов данных и методов, объявленных в конкретном файле .java.

Чтобы узнать больше об этом, обратитесь к этому справочнику по затмению.

Nirmal- thInk beYond
источник
3
... который открывает иерархию вызовов.
Xonatron
Я пробовал все, что мог найти, Ctrl + Shift + G, ctrl + Alt + H, Ctrl + O и многое другое, но все они показывают мне «Ресурс не находится на пути сборки проекта Java». Итак, никто не работает. Кто-то предложил щелкнуть правой кнопкой мыши по проекту в дереве и выбрать «путь сборки» из контекстного меню, но я этого не вижу. Я на фотоне затмения. Спасибо
pixel
10

Вы также можете искать определенные методы. Например, если вы хотите найти isEmpty()метод строкового класса, который вам нужно найти - Search -> Java -> введите java.lang.String.isEmpty()и в опции «Search For» используйте Method .

Затем вы можете выбрать требуемый объем.

Вишну Прасад Каллуммел
источник
9

Переместите курсор к имени метода. Щелкните правой кнопкой мыши и выберите «Ссылки»> «Проект» или «Ссылки>« Рабочая область »во всплывающем меню.

Тед Хопп
источник
5
select method > right click > References > Workspace/Project (your preferred context ) 

или же

(Ctrl+Shift+G) 

Это покажет вам представление поиска, содержащее иерархию классов и методов, которые используют этот метод.

Саиф
источник
3

Щелкните правой кнопкой мыши метод и выберите Открыть иерархию вызовов.

eclipse иерархия вызовов правой кнопкой мыши

Manjeet
источник
Я пробовал все, что мог найти, Ctrl + Shift + G, ctrl + Alt + H и многое другое, но все они показывают мне: «Ресурс не находится на пути сборки проекта Java». Итак, никто не работает. Кто-то предложил щелкнуть правой кнопкой мыши по проекту в дереве и выбрать «путь сборки» из контекстного меню, но я этого не вижу. Я на фотоне затмения. Спасибо
pixel
@pixel - Пожалуйста, выполните «mvn clean install». Затем попробуйте еще раз. Это могло произойти из-за того, что ваш проект неправильно собран.
Manjeet