Come mostrare tutti i genitori e le sottoclassi di una classe in IntelliJ IDEA?


151

Quando sto modificando una classe Java in Eclipse, quando il mio cursore si trova su una variabile di classe, posso fare Ctrl+ Tper avere un popup che mostra tutti i suoi genitori e sottoclassi. Qual è l'equivalente in IntelliJ?

Esempio:

Use|r user = new User();

La pipa è il mio cursore.

Risposte:


217

Naviga | Type Hierarchy Ctrl + Hmostrerà informazioni simili, tuttavia nel Pannello. Puoi spostare e sbloccare il pannello in modo che appaia nella posizione fissa del display solo quando usi la scorciatoia da tastiera.


1
Sono abbastanza nuovo in IntelliJ e ho scoperto che è molto meglio avere il collegamento "Nascondi finestra strumento attivo" mappato su <Escape> (anziché il collegamento "Escape"), che per impostazione predefinita è mappato su <Shift + Escape> . Finora mi è sembrato molto più naturale chiudere le "finestre fluttuanti" (inclusa la gerarchia dei tipi).
Eyal Roth,

2
Ancora una cosa: ciò non si comporta allo stesso modo della gerarchia di tipi rapidi di Eclipse: in Eclipse, quando passi con il mouse su una classe nella gerarchia, premendo <Invio> si aprirà il file sorgente con la classe; in IntelliJ, devi usare la scorciatoia "salta alla fonte". Inoltre, fare clic indietro sull'editor non farà scomparire la finestra, a differenza della finestra "mostra implementazioni" (ad esempio), quindi questa non è una finestra mobile pura.
Eyal Roth,

78

In termini di comportamento, l'equivalente di Eclipse Ctrl+ Tin IntelliJ IDEA è Ctrl+ Alt+B


7
su macOS questo è Option+ Cmd+B
Brad Cupit

22

Non un utente IntelliJ IDEA, ma questo post sul blog sembra indicare che nella versione 8.1.1 e successive Ctrl+ Alt+ Uverrà visualizzata la "Gerarchia di classi rapide".


Va abbastanza bene, ma ce n'è uno più leggero? Questo costruisce un diagramma UML? Sono solo curioso di sapere se c'è un passaggio rapido che posso vedere i suoi genitori e andare da loro.
Glide,

2
Sembra che questo non sia un equivalente. Ad esempio per l'interfaccia org.slf4j.Logger non mostra altro che Logger, che è inutile. Ctrl-H sembra essere migliore in quanto mostra l'albero delle classi di implementazione (purtroppo l'albero non viene espanso). Tuttavia Eclipse mostra anche tutte le interfacce estendibili e le sue classi di implementazione. Anche di seguito CTRL-ALT-B non mostra albero o implementa interfacce. Sto solo iniziando con Idea e mi aspettavo che tale funzione di uso frequente sostituisse la versione di Eclipse, o almeno sarebbe altrettanto buona ...
petrsyn,

1
13.1 Ultimate sembra averlo indietro e il collegamento funziona.
Jason D,

Gerarchia di classi UML Ctrl + Alt + U funziona solo in Ultimate Edition
Srujan Kumar Gulla

Ctrl + Alt + U non mostra nemmeno tutti i tratti degli antenati. Solo genitori diretti. Patetico.
rapt

16

Prova anche CTRL+ SHIFT+ Ain caso di dubbi. La scorciatoia per informazioni sulla scorciatoia.


16

Intellij, a differenza di Eclipse, distingue tra gerarchie di tipi e classi di implementazione . Sono ancora indeciso se questa è una cosa positiva o no (sono passato da Eclipse a Intellij stesso)

Su un Mac Intellij 14

  • Ctrl+ Hfarà apparire la gerarchia dei tipi che mostra sottotipi e supertipi
  • Cmd+ Alt+ Bti mostrerà tutte le classi e le sottoclassi di implementazione dell'interfaccia / classe che ti interessa

CTRL + ALT + B non ha senso solo con le interfacce: mostra anche tutte le sottoclassi di una classe, quindi è facilmente visibile quali tipi ereditano dalla classe che ti interessa.
nachteil

@nachteil grazie. non lo sapevo. Ho cambiato la descrizione di cmd + alt + b
Stefan Haberl il

Sì - Ctrl + H è la risposta corretta Ctrl + Alt + B non è esattamente Ctrl + T di eclissi
Prash

12

In IntelliJ IDEA 12, è Naviga> Tipo gerarchia ( Ctrl+ Hper impostazione predefinita).


6

Per gli utenti Mac che vengono qui, questa è la scorciatoia per IntelliJ 14.1.4:

+ Hper impostazione predefinita.


4

Per gli utenti Mac , il collegamento è

^(controllo) + h


3

In IntelliJ 13, è Navigate> Implementations o CMD+ ALT+ Bper impostazione predefinita. Ovviamente, questa scorciatoia può essere ignorata nelle tue preferenze Keymap.


2

Non conosco le versioni precedenti, ma nella versione 13 di IntelliJ è possibile accedere alle preferenze di Keymap, cercare "Implementazioni" e associarlo a Ctrl+ T. Funzionerà in modo molto simile all'equivalente Eclipse.


1

Mentre Eclipse include la gerarchia dei tipi e la struttura delle classi (metodi, campi ecc.) In una singola vista, IntelliJ li divide: Oltre alla vista CTRL+ H(o ALT+ 8) "Gerarchia dei tipi" , l'altra finestra IntelliJ pertinente è chiamata "Struttura " e può essere invocato tramite ALT+ 7(finestra dello strumento struttura) o CTRL+ F12(popup della struttura).

(Non una risposta diretta alla domanda esatta pubblicata ma ci si aspetterebbe che altri provenienti da un background di Eclipse possano arrivare qui dopo aver cercato su Google "gerarchia di tipi Intellij", come ho fatto io.)


1

Ctrl+U - vai alla classe base

Ctrl+Alt+B- arrivato all'implementazione. Digitare parti del nome della classe per restringere l'elenco

Ctrl+H - apri la finestra degli strumenti della gerarchia dei tipi

Ctrl+Alt+U - gerarchia di eredità della classe / interfaccia peek


1

Con Eclipse, premere Ctrl+ Tsu un tipo mostra i suoi sottotipi e premere di nuovo Ctrl+ Tmostra così i supertipi. E così per ... questo è un interruttore.
Questo è davvero utile e anche molto diretto.

Sfortunatamente con IntelliJ, il passaggio tra i supertipi e i sottotipi non ha alcun collegamento predefinito. Quindi dovrai fare clic sulle icone delle finestre della gerarchia.
Se come me preferisci le scorciatoie da tastiera all'opzione "sposta cursore e fai clic con il mouse", ti incoraggio a impostare un'associazione per queste due operazioni. Ad esempio Ctrl+ Down per sottotipi e Ctrl+ Up per supertipi.

Dove è possibile modificare l'associazione ("Bas" significa "Giù" e "Alto" significa "Su"): biding

Si noti che questi collegamenti sono contestuali al contesto "Altro" (Eclipse ha un concetto abbastanza simile). 1) In questo modo, immettere Ctrl+ Tsu un ArrayListtipo produce:

Gerarchia predefinita

2) Enter Ctrl+ si Downconcentra sui sottotipi:

messa a fuoco dei sottotipi

3) E Enter Ctrl+ si Upconcentra sui supertipi:

messa a fuoco dei supertipi

In questo modo, lo trovo migliore del comportamento predefinito ma, ad essere sincero, anche con l'aggiunta di quella scorciatoia, la funzione IntelliJ non è buona come Eclipse, che la scorciatoia Ctrl+ Tfunziona anche con i metodi ...


0

Esiste una vista gerarchica come in Eclipse, dai un'occhiata al menu Visualizza / Strumenti Windows / Gerarchia o premi Alt-8 o F4.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.