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?


Odpowiedzi:


115

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


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


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.


9

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


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.


3

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

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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.