Comment afficher tous les parents et sous-classes d'une classe dans IntelliJ IDEA?

151

Lorsque j'édite une classe Java dans Eclipse, lorsque mon curseur est sur une variable de classe, je peux faire Ctrl+ Tpour avoir une fenêtre contextuelle qui montre tous ses parents et sous-classes. Quel est l'équivalent dans IntelliJ?

Exemple:

Use|r user = new User();

Le tuyau est mon curseur.

Glide
la source

Réponses:

217

Naviguer | La hiérarchie de type Ctrl + Haffichera cependant des informations similaires dans le panneau. Vous pouvez faire flotter et détacher le panneau pour qu'il apparaisse sur la position d'affichage fixe uniquement lorsque vous utilisez le raccourci clavier.

CrazyCoder
la source
1
Je suis assez nouveau dans IntelliJ et j'ai découvert qu'il était préférable d'avoir le raccourci "Masquer la fenêtre de l'outil actif" mappé sur <Escape> (au lieu du raccourci "Escape"), qui par défaut est mappé sur <Shift + Escape> . Jusqu'à présent, cela me semblait beaucoup plus naturel lors de la fermeture de "fenêtres flottantes" (hiérarchie de types incluse).
Eyal Roth
2
Encore une chose - cela ne se comporte toujours pas de la même manière que la hiérarchie de type rapide d'Eclipse: dans Eclipse, lorsque vous survolez une classe dans la hiérarchie, appuyez sur <Entrée> pour ouvrir le fichier source avec la classe; dans IntelliJ, vous devez utiliser le raccourci "Aller à la source". De plus, cliquer à nouveau sur l'éditeur ne fera pas disparaître la fenêtre, contrairement à la fenêtre "show implementation" (par exemple), donc ce n'est pas une pure fenêtre flottante.
Eyal Roth
78

En termes de comportement, l'équivalent d'Eclipse Ctrl+ Tdans IntelliJ IDEA est Ctrl+ Alt+B

dimitrisli
la source
7
sur macOS c'est Option+ Cmd+B
Brad Cupit
22

Pas un utilisateur d'IntelliJ IDEA, mais ce billet de blog semble indiquer que dans la version 8.1.1 et au-delà Ctrl+ Alt+ Uaffichera la «hiérarchie de classes rapide».

Daniel DiPaolo
la source
C'est plutôt bien, mais y en a-t-il un plus léger? Celui-ci construit un diagramme UML? Juste curieux de savoir s'il y a un survol rapide que je peux voir ses parents et aller à eux.
Glide
2
Il semble que ce ne soit pas un équivalent. Par exemple pour l'interface org.slf4j.Logger, il ne montre rien de plus que Logger, ce qui est inutile. Ctrl-H semble être meilleur car il montre l'arbre des classes d'implémentation (l'arbre n'est malheureusement pas développé). Cependant, Eclipse montre également toutes les interfaces d'extension et ses classes d'implémentation. Également mentionné ci-dessous, CTRL-ALT-B n'affiche pas d'arborescence ou d'implémentation d'interfaces. Je commence juste avec Idea et je m'attendais à ce que cette fonction fréquemment utilisée remplace la version Eclipse, ou soit au moins aussi bonne ...
petrsyn
1
13.1 Ultimate semble l'avoir de retour et le raccourci fonctionne.
Jason D
La hiérarchie des classes UML Ctrl + Alt + U fonctionne uniquement dans Ultimate Edition
Srujan Kumar Gulla
Ctrl + Alt + U n'affiche même pas tous les traits ancestraux. Seuls les parents directs. Pathétique.
ravi
16

Essayez également CTRL+ SHIFT+ Aen cas de doute. Le raccourci pour les informations de raccourci.

Sorencito
la source
16

Contrairement à Eclipse, Intellij fait la distinction entre les hiérarchies de types et les classes d'implémentation . Je ne sais toujours pas si c'est une bonne chose ou non (je viens de passer d'Eclipse à Intellij moi-même)

Sur un Mac Intellij 14

  • Ctrl+ Hfera apparaître la hiérarchie des types vous montrant les sous et supertypes
  • Cmd+ Alt+ Bvous montrera toutes les classes et sous-classes d'implémentation de l'interface / classe qui vous intéresse
Stefan Haberl
la source
CTRL + ALT + B n'a pas seulement de sens avec les interfaces - il montre également toutes les sous-classes d'une classe, de sorte qu'il est facilement visible quels types héritent de la classe qui vous intéresse.
nachteil
@nachteil merci. ne le savais pas. J'ai changé la description de cmd + alt + b
Stefan Haberl
Oui - Ctrl + H est la bonne réponse Ctrl + Alt + B n'est pas exactement Ctrl + T d'éclipse
prash
12

Dans IntelliJ IDEA 12, c'est Naviguer> Hiérarchie de types ( Ctrl+ Hpar défaut).

thSoft
la source
6

Pour les utilisateurs de Mac qui viennent ici, voici le raccourci pour IntelliJ 14.1.4:

+ Hpar défaut.

mkobit
la source
4

Pour les utilisateurs Mac , le raccourci est

^(contrôle) + h

Zia
la source
3

Dans IntelliJ 13, c'est Naviguer> Implémentations ou CMD+ ALT+ Bpar défaut. Bien sûr, ce raccourci peut être remplacé dans vos préférences Keymap.

Cody A. Ray
la source
2

Je ne connais pas les versions précédentes, mais dans la version 13 d'IntelliJ, vous pouvez accéder à vos préférences Keymap, rechercher «Implémentations» et lier cela à Ctrl+ T. Cela fonctionnera beaucoup comme l'équivalent Eclipse.

pohl
la source
1

Alors qu'Eclipse inclut la hiérarchie des types et la structure des classes (méthodes, champs, etc.) dans une seule vue, IntelliJ les divise: En plus de la vue CTRL+ H(ou ALT+ 8) "Hiérarchie des types" , l'autre fenêtre IntelliJ pertinente est appelée "Structure " et peut être appelé via ALT+ 7(Fenêtre Outil Structure) ou CTRL+ F12( Fenêtre Structure).

(Ce n'est pas une réponse directe à la question exacte posée, mais on s'attendrait à ce que d'autres personnes d'un arrière-plan Eclipse arrivent ici après avoir recherché sur Google "hiérarchie de type intellij", comme je l'ai fait.)

Steve Chambers
la source
1

Ctrl+U - aller à la classe de base

Ctrl+Alt+B- arrivé à la mise en œuvre. Saisissez des parties du nom de la classe pour affiner la liste

Ctrl+H - ouvrir la fenêtre de l'outil de hiérarchie de types

Ctrl+Alt+U - hiérarchie d'héritage de classe / interface peek

Konstantin Spirin
la source
1

Avec Eclipse, frapper Ctrl+ Tsur un type affiche ses sous-types et frapper à nouveau Ctrl+ Taffiche donc les supertypes. Et donc pour ... c'est une bascule.
C'est vraiment utile et aussi très simple.

Malheureusement avec IntelliJ, le basculement entre les supertypes et les sous-types n'a pas de raccourci par défaut. Vous devrez donc cliquer sur les icônes des fenêtres de hiérarchie.
Si comme moi vous privilégiez les raccourcis clavier à l'option "déplacer le curseur et cliquer sur la souris", je vous encourage à définir une liaison pour ces deux opérations. Par exemple Ctrl+ Down pour les sous-types et Ctrl+ Up pour les supertypes.

Où vous pouvez modifier la liaison («Bas» signifie «Down» et «Haut» signifie «Up»): en attente

Notez que ces liaisons sont contextuelles au contexte "Autre" (Eclipse a un concept assez similaire). 1) De cette façon, entrer Ctrl+ Tsur un ArrayListtype produit:

Hiérarchie par défaut

2) Enter Ctrl+ Downse concentre sur les sous-types:

focus sur les sous-types

3) Et Enter Ctrl+ Upse concentre sur les supertypes:

focus sur les supertypes

De cette façon, je le trouve meilleur que le comportement par défaut mais pour être honnête même avec l'ajout de ce raccourci, la fonctionnalité IntelliJ n'est pas aussi bonne qu'Eclipse dont le raccourci Ctrl+ Tfonctionne également sur les méthodes ...

davidxxx
la source
0

Il existe une vue hiérarchique comme dans Eclipse, jetez un œil au menu Affichage / Outils Fenêtres / Hiérarchie ou appuyez sur Alt-8 ou F4.

Herberlin
la source