Suchen Sie nach Methodenaufrufen im Eclipse-Projekt


83

Ich habe eine Klasse X, die die Methode myMethod () enthält. Ich möchte in allen Projekten in meinem aktuellen Arbeitsbereich Speicherorte finden, an denen diese myMethod () aufgerufen wird. Ich kann keine Suchfunktionen verwenden, da myMethod () mehrere Klassen enthält und es nicht statisch ist. Daher muss ich den Namen der Objekte dieser Klasse kennen, was nicht möglich ist, ohne die Projekte manuell zu erkunden.

Hat Eclipse eine Lösung dafür?


Antworten:


115

Gehen Sie zu der Methode in X.java und wählen Sie im Kontextmenü die Option Anrufhierarchie öffnen.


11
Das wusste ich nicht. Ich habe eine CTRL-GVerknüpfung verwendet und es hat nicht funktioniert, da dies nicht dazu führen würde, dass die betreffende Methode von einer anderen Methode in derselben Klasse aufgerufen wird. Irgendwelche Ideen, warum das so ist? ...keine Ursache! CTRL-SHIFT-Gdient zum Auffinden von Referenzen, CTRL-Gdient zum Auffinden von Erklärungen! : S
Xonatron

4
In meiner Sonnenfinsternis hier (Mars) ist die Verknüpfung Strg + Alt + H :)
Thekucays

Ich habe alles versucht, was ich finden konnte, Strg + Umschalt + G, Strg + Alt + H und vieles mehr, aber alle zeigen mir "Die Ressource befindet sich nicht auf dem Erstellungspfad eines Java-Projekts". Also funktioniert keine. Jemand schlug vor, mit der rechten Maustaste auf das Projekt in der Baumstruktur zu klicken und im Kontextmenü "Pfad erstellen" zu wählen, aber ich sehe dies nicht. Ich bin auf Eclipse Photon. Danke
Pixel

51

Wählen Sie mymethod()und drücken Sie ctrl+ alt+ h.

Um detaillierte Informationen zu einer Methode anzuzeigen, können Sie diese verwenden, indem Sie das jeweilige Objekt oder die Methode auswählen und mit der rechten Maustaste klicken. Sie können die " OpenCallHierarchy " ( Ctrl+ Alt+ H) sehen. So gibt es viele Tools, mit denen Sie Ihre Arbeit einfacher gestalten können, z. B. " Quick Outline " ( Ctrl+ O), um die in einer bestimmten Java-Datei deklarierten Datentypen und Methoden anzuzeigen.

Weitere Informationen hierzu finden Sie in dieser Eclipse-Referenz


3
... was die Anrufhierarchie öffnet.
Xonatron

Ich habe alles versucht, was ich finden konnte, Strg + Umschalt + G, Strg + Alt + H, Strg + O und vieles mehr, aber alle zeigen mir "Die Ressource befindet sich nicht im Erstellungspfad eines Java-Projekts". Also funktioniert keine. Jemand schlug vor, mit der rechten Maustaste auf das Projekt in der Baumstruktur zu klicken und im Kontextmenü "Erstellungspfad" auszuwählen, aber ich sehe dies nicht. Ich bin auf Eclipse Photon. Danke
Pixel

10

Sie können auch nach bestimmten Methoden suchen. Wenn Sie beispielsweise nach einer isEmpty()Methode der Zeichenfolgenklasse suchen möchten, müssen Sie - Suchen -> Java -> eingeben java.lang.String.isEmpty()und in der Option 'Suchen nach' Methode verwenden .

Sie können dann den gewünschten Bereich auswählen.


9

Bewegen Sie den Cursor auf den Methodennamen. Klicken Sie mit der rechten Maustaste und wählen Sie im Popup-Menü Referenzen> Projekt oder Referenzen> Arbeitsbereich.


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

oder

(Ctrl+Shift+G) 

Dies zeigt Ihnen eine Suchansicht mit der Hierarchie der Klassen und Methoden, die diese Methode verwenden.


3

Klicken Sie mit der rechten Maustaste auf Methode und dann auf Anrufhierarchie öffnen

Eclipse Rechtsklick Anrufhierarchie


Ich habe alles versucht, was ich finden konnte, Strg + Umschalt + G, Strg + Alt + H und viele mehr, aber alle zeigen mir "Die Ressource befindet sich nicht auf dem Erstellungspfad eines Java-Projekts". Also funktioniert keine. Jemand schlug vor, mit der rechten Maustaste auf das Projekt in der Baumstruktur zu klicken und im Kontextmenü "Erstellungspfad" auszuwählen, aber ich sehe dies nicht. Ich bin auf Eclipse Photon. Danke
Pixel

@pixel - Bitte machen Sie "mvn clean install". Dann versuchen Sie es erneut. Dies kann passieren, weil Ihr Projekt nicht richtig erstellt wurde.
Manjeet
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.