Znajdź wywołania metod w projekcie Eclipse

83

Mam klasę X zawierającą metodę myMethod (). Chciałbym znaleźć lokalizacje we wszystkich projektach w moim bieżącym obszarze roboczym, w którym wywoływana jest ta metoda myMethod (). Nie mogę użyć żadnych funkcji wyszukiwania, ponieważ istnieje kilka klas z myMethod () i nie jest ona statyczna. Dlatego muszę znać nazwy obiektów tej klasy, co nie jest możliwe bez ręcznego przeglądania projektów.

Czy Eclipse ma na to rozwiązanie?

Shailesh Tainwala
źródło

Odpowiedzi:

115

Przejdź do metody w X.java i wybierz Open Call Hierarchy z menu kontekstowego.

Thilo
źródło
11
Nie wiedziałem tego. Używałem CTRL-Gskrótu i ​​nie działało, ponieważ nie spowodowałoby to wywołania danej metody z innej metody w tej samej klasie. Jakieś pomysły, dlaczego tak jest? ...nieważne! CTRL-SHIFT-Gsłuży do wyszukiwania referencji, CTRL-Gsłuży do znajdowania deklaracji! : S
Xonatron
4
w moim zaćmieniu tutaj (mars) skrót to ctrl + alt + h :)
thekucays
Próbowałem wszystkiego, co mogłem znaleźć, Ctrl + Shift + G, ctrl + Alt + H i wiele więcej, ale wszystkie pokazują mi „Zasób nie znajduje się na ścieżce kompilacji projektu Java”. Więc nic nie działa. Ktoś zasugerował, aby kliknąć prawym przyciskiem myszy projekt w drzewie i wybrać „ścieżkę budowania” z menu kontekstowego, ale ja tego nie widzę. Jestem na fotonie zaćmienia. Dzięki
piksel
51

Wybierz mymethod()i naciśnij ctrl+ alt+ h.

Aby zobaczyć szczegółowe informacje o dowolnej metodzie, możesz jej użyć, wybierając konkretny obiekt lub metodę i klikając prawym przyciskiem myszy. możesz zobaczyć OpenCallHierarchy ( Ctrl+ Alt+ H). W ten sposób istnieje wiele narzędzi ułatwiających pracę, takich jak „ Quick Outline ” ( Ctrl+ O) do przeglądania typów danych i metod zadeklarowanych w określonym pliku .java.

Aby dowiedzieć się więcej na ten temat, zapoznaj się z tym odniesieniem do zaćmienia

Nirmal- thInk beYond
źródło
3
... co otwiera hierarchię połączeń.
Xonatron
Próbowałem wszystkiego, co mogłem znaleźć, Ctrl + Shift + G, ctrl + Alt + H, Ctrl + O i wiele więcej, ale wszystkie pokazują mi „Zasób nie znajduje się na ścieżce budowania projektu Java”. Więc nic nie działa. Ktoś zasugerował, aby kliknąć prawym przyciskiem myszy projekt w drzewie i wybrać „ścieżkę budowania” z menu kontekstowego, ale ja tego nie widzę. Jestem na fotonie zaćmienia. Dzięki
piksel
10

Możesz także wyszukiwać określone metody. Na przykład, jeśli chcesz wyszukać isEmpty()metodę klasy string, musisz - Szukaj -> Java -> wpisz java.lang.String.isEmpty()iw opcji „Szukaj” użyj metody .

Następnie możesz wybrać wymagany zakres.

Vishnu Prasad Kallummel
źródło
9

Przesuń kursor do nazwy metody. Kliknij prawym przyciskiem myszy i wybierz Odnośniki> Projekt lub Odnośniki> Przestrzeń robocza z wyskakującego menu.

Ted Hopp
źródło
5
select method > right click > References > Workspace/Project (your preferred context ) 

lub

(Ctrl+Shift+G) 

Spowoduje to wyświetlenie widoku wyszukiwania zawierającego hierarchię klas i metod używających tej metody.

Saif
źródło
3

Kliknij prawym przyciskiem myszy metodę i kliknij Otwórz hierarchię połączeń

hierarchia wywołań kliknięcia prawym przyciskiem zaćmienia

Manjeet
źródło
Próbowałem wszystkiego, co mogłem znaleźć, Ctrl + Shift + G, ctrl + Alt + H i wiele więcej, ale wszystkie pokazują mi „Zasób nie znajduje się na ścieżce kompilacji projektu Java”. Więc nic nie działa. Ktoś zasugerował, aby kliknąć prawym przyciskiem myszy projekt w drzewie i wybrać „ścieżkę budowania” z menu kontekstowego, ale ja tego nie widzę. Jestem na fotonie zaćmienia. Dzięki
piksel
@pixel - Wykonaj "czystą instalację mvn". Następnie spróbuj ponownie. Może się tak dziać, ponieważ Twój projekt nie jest poprawnie zbudowany.
Manjeet