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


83

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

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


Ответы:


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.

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


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 иерархия вызовов правой кнопкой мыши


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

@pixel - Пожалуйста, выполните «mvn clean install». Затем попробуйте еще раз. Это могло произойти из-за того, что ваш проект неправильно собран.
Manjeet
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.