Wie zeige ich alle Eltern und Unterklassen einer Klasse in IntelliJ IDEA?

150

Wenn ich eine Java-Klasse in Eclipse bearbeite und mein Cursor über einer Klassenvariablen steht, kann ich Ctrl+ Tein Popup erstellen, in dem alle übergeordneten Elemente und Unterklassen angezeigt werden. Was ist das Äquivalent in IntelliJ?

Beispiel:

Use|r user = new User();

Die Pipe ist mein Cursor.

Gleiten
quelle

Antworten:

217

Navigieren | Typ Hierarchie Ctrl + Hzeigt ähnliche Informationen an, jedoch im Bedienfeld. Sie können Schwimmer und Unpin das Gremium , so dass es nur auf der festen Anzeigeposition erscheint , wenn Sie die Tastenkombination verwenden.

CrazyCoder
quelle
1
Ich bin ziemlich neu in IntelliJ und habe herausgefunden, dass es viel besser ist, die Verknüpfung "Aktives Werkzeugfenster ausblenden" <Escape> zuzuordnen (anstelle der Verknüpfung "Escape"), die standardmäßig <Shift + Escape> zugeordnet ist . Bisher fühlte es sich für mich viel natürlicher an, "schwebende Fenster" zu schließen (Typhierarchie eingeschlossen).
Eyal Roth
2
Eine weitere Sache - dies verhält sich immer noch nicht so wie die schnelle Typhierarchie von Eclipse: Wenn Sie in Eclipse mit der Maus über eine Klasse in der Hierarchie fahren, wird durch Drücken der <Eingabetaste> die Quelldatei mit der Klasse geöffnet. In IntelliJ müssen Sie die Verknüpfung "Zur Quelle springen" verwenden. Wenn Sie auf den Editor zurückklicken, wird das Fenster im Gegensatz zum Fenster "Implementierungen anzeigen" (zum Beispiel) nicht ausgeblendet. Dies ist also kein reines schwebendes Fenster.
Eyal Roth
78

In Bezug auf das Verhalten ist das Äquivalent von Eclipse Ctrl+ Tin IntelliJ IDEA Ctrl+ Alt+B

dimitrisli
quelle
7
unter macOS ist dies Option+ Cmd+B
Brad Cupit
22

Kein IntelliJ IDEA-Benutzer, aber dieser Blog-Beitrag scheint darauf hinzudeuten, dass in Version 8.1.1 und darüber hinaus Ctrl+ Alt+ Udie "Quick Class Hierarchy" angezeigt wird.

Daniel DiPaolo
quelle
Das ist ziemlich gut, aber gibt es eine leichtere? Dieser erstellt ein UML-Diagramm? Nur neugierig, ob es einen schnellen Schwebeflug gibt, bei dem ich seine Eltern sehen und zu ihnen gehen kann.
Gleiten Sie
2
Dies scheint kein Äquivalent zu sein. Zum Beispiel für die Schnittstelle org.slf4j.Logger zeigt es nichts weiter als Logger, was nutzlos ist. Strg-H scheint besser zu sein, da es den Baum der implementierenden Klassen zeigt (der Baum ist leider nicht erweitert). Eclipse zeigt jedoch auch alle erweiterten Schnittstellen und ihre implementierenden Klassen. Auch unten erwähnte STRG-ALT-B zeigt keinen Baum oder implementierende Schnittstellen. Ich fange gerade mit Idea an und hatte erwartet, dass eine solche häufig verwendete Funktion die Eclipse-Version ersetzen oder mindestens genauso gut sein wird ...
petrsyn
1
13.1 Ultimate scheint es wieder zu haben und die Verknüpfung funktioniert.
Jason D
UML-Klassenhierarchie Strg + Alt + U funktioniert nur in Ultimate Edition
Srujan Kumar Gulla
Strg + Alt + U zeigt nicht einmal alle Ahnenmerkmale an. Nur direkte Eltern. Erbärmlich.
Rapt
16

Auch versuchen CTRL+ SHIFT+ Aim Zweifelsfall. Die Verknüpfung für Verknüpfungsinformationen.

Sorencito
quelle
16

Intellij unterscheidet im Gegensatz zu Eclipse zwischen Typhierarchien und Implementierungsklassen . Ich bin immer noch unentschlossen, ob dies eine gute Sache ist oder nicht (ich bin gerade von Eclipse auf Intellij umgestiegen).

Auf einem Mac Intellij 14

  • Ctrl+ Hruft die Typhierarchie auf, in der Sub- und Supertypen angezeigt werden
  • Cmd+ Alt+ BFinden Sie alle implementierenden Klassen und Unterklassen der Schnittstelle / Klasse , die Sie daran interessiert sind , zeigen
Stefan Haberl
quelle
STRG + ALT + B nicht nur Sinn mit Schnittstellen machen - es zeigt auch alle Subklassen einer Klasse, so dass es gut sichtbar ist , welche Arten von der Klasse erben sind Sie interesteed in.
nachteil
@nachteil danke. wusste das nicht. Ich habe die Beschreibung von cmd + alt + b
Stefan Haberl
Ja - Strg + H ist die richtige Antwort Strg + Alt + B ist nicht genau Strg + T der Sonnenfinsternis
Prash
12

In IntelliJ IDEA 12 ist es Navigieren> Typhierarchie ( standardmäßig Ctrl+ H).

thSoft
quelle
6

Für Mac-Benutzer, die hierher kommen, ist dies die Verknüpfung für IntelliJ 14.1.4:

+ Hstandardmäßig.

mkobit
quelle
4

Für Mac- Benutzer lautet die Verknüpfung

^(Kontrolle) + h

Zia
quelle
3

In IntelliJ 13, dann ist es Navigieren> Implementationen oder CMD+ ALT+ Bstandardmäßig. Natürlich kann diese Verknüpfung in Ihren Keymap-Einstellungen überschrieben werden.

Cody A. Ray
quelle
2

Ich weiß nichts über frühere Versionen, aber in IntelliJ Version 13 können Sie in Ihre Keymap-Einstellungen gehen, nach "Implementierungen" suchen und diese an Ctrl+ binden T. Es wird sehr ähnlich wie das Eclipse-Äquivalent funktionieren.

pohl
quelle
1

Während Eclipse die Typhierarchie und die Klassenstruktur (Methoden, Felder usw.) in einer einzigen Ansicht enthält, teilt IntelliJ diese auf: Zusätzlich zur CTRL+ H(oder ALT+ 8) Ansicht "Typhierarchie" wird das andere relevante IntelliJ-Fenster "Struktur" genannt " und kann über ALT+ 7(Strukturwerkzeugfenster) oder CTRL+ aufgerufen werdenF12 (Struktur-Popup) .

(Keine direkte Antwort auf die genaue gestellte Frage, aber ich würde erwarten, dass andere Personen mit Eclipse-Hintergrund hierher kommen, die wie ich nach "Hierarchie vom Typ Intellij" gegoogelt haben.)

Steve Chambers
quelle
1

Ctrl+U - Zur Basisklasse gehen

Ctrl+Alt+B- zur Umsetzung gekommen. Geben Sie Teile des Klassennamens ein, um die Liste einzugrenzen

Ctrl+H - Öffnen Sie das Werkzeugfenster für die Typhierarchie

Ctrl+Alt+U - Peek-Klassen- / Schnittstellenvererbungshierarchie

Konstantin Spirin
quelle
1

Wenn Sie bei Eclipse Ctrl+ Tauf einen Typ drücken, werden dessen Untertypen angezeigt, und wenn Sie erneut Ctrl+ Tdrücken, werden so Supertypen angezeigt. Und so für ... das ist ein Umschalter.
Das ist sehr hilfreich und auch sehr direkt.

Leider hat der Wechsel zwischen den Supertypen und den Subtypen bei IntelliJ keine Standardverknüpfung. Sie müssen also auf die Symbole der Hierarchiefenster klicken.
Wenn Sie wie ich die Tastenkombinationen für die Option "Cursor bewegen und mit der Maus klicken" bevorzugen, empfehlen wir Ihnen, eine Bindung für diese beiden Vorgänge festzulegen. Zum Beispiel Ctrl+ Down für Untertypen und Ctrl+Up für Supertypen.

Wo Sie die Bindung ändern können ("Bas" bedeutet "Down" und "Haut" bedeutet "Up"): bieten

Beachten Sie, dass diese Bindungen kontextabhängig zum Kontext "Andere" sind (Eclipse hat ein ausreichend ähnliches Konzept). 1) Geben Sie auf diese Weise Ctrl+ Tfür einen ArrayListTyp ein, der Folgendes erzeugt:

Standardhierarchie

2) Enter Ctrl+ Downkonzentriert sich auf Subtypen:

Subtypen fokussieren

3) Und Enter Ctrl+ Upkonzentriert sich auf Supertypen:

Supertypen konzentrieren sich

Auf diese Weise finde ich es besser als das Standardverhalten, aber um ehrlich zu sein, selbst wenn diese Verknüpfung hinzugefügt wird, ist die IntelliJ-Funktion nicht so gut wie Eclipse, und die Ctrl+ TVerknüpfung funktioniert auch bei Methoden ...

davidxxx
quelle
0

Es gibt eine Hierarchieansicht wie in Eclipse. Sehen Sie sich das Menü Ansicht / Werkzeugfenster / Hierarchie an oder drücken Sie Alt-8 oder F4.

herberlin
quelle