¿Cómo mostrar a todos los padres y subclases de una clase en IntelliJ IDEA?

151

Cuando estoy editando una clase Java en Eclipse, cuando mi cursor está sobre una variable de clase, puedo hacer Ctrl+ Tpara tener una ventana emergente que muestra todos sus padres y subclases. ¿Cuál es el equivalente en IntelliJ?

Ejemplo:

Use|r user = new User();

La pipa es mi cursor.

Planeo
fuente

Respuestas:

217

Navegar | Type Hierarchy Ctrl + Hmostrará información similar, sin embargo en el Panel. Puede Flotar y Desanclar el Panel para que aparezca en la posición de visualización fija solo cuando use el atajo de teclado.

CrazyCoder
fuente
1
Soy bastante nuevo en IntelliJ, y descubrí que es mucho mejor tener el acceso directo "Ocultar ventana de herramienta activa" asignado a <Escape> (en lugar del acceso directo "Escape"), que por defecto está asignado a <Shift + Escape> . Hasta ahora me pareció mucho más natural al cerrar "ventanas flotantes" (jerarquía de tipos incluida).
Eyal Roth
2
Una cosa más: esto todavía no se comporta igual que la jerarquía de tipo rápido de Eclipse: en Eclipse, cuando pasa el mouse sobre una clase en la jerarquía, al presionar <Enter> se abrirá el archivo fuente con la clase; en IntelliJ, debe usar el acceso directo "saltar a la fuente". Además, hacer clic de nuevo en el editor no hará que la ventana desaparezca, a diferencia de la ventana "Mostrar implementaciones" (por ejemplo), por lo que esta no es una ventana flotante pura.
Eyal Roth
78

En términos de comportamiento, el equivalente de Eclipse Ctrl+ Ten IntelliJ IDEA es Ctrl+ Alt+B

dimitrisli
fuente
77
en macOS esto es Option+ Cmd+B
Brad Cupit
22

No es un usuario de IntelliJ IDEA, pero esta publicación de blog parece indicar que en la versión 8.1.1 y posteriores Ctrl+ Alt+ Umostrará la "Jerarquía de clase rápida".

Daniel DiPaolo
fuente
Eso es bastante bueno, pero ¿hay uno más liviano? ¿Éste construye un diagrama UML? Es curioso si hay un movimiento rápido que puedo ver a sus padres e ir a ellos.
Glide
2
Parece que esto no es un equivalente. Por ejemplo, para la interfaz org.slf4j.Logger no muestra nada más que Logger, que es inútil. Ctrl-H parece ser mejor ya que muestra el árbol de implementación de clases (desafortunadamente, el árbol no está expandido). Sin embargo, Eclipse muestra también todas las interfaces extendidas y sus clases de implementación. También se menciona a continuación CTRL-ALT-B no muestra el árbol ni las interfaces de implementación. Recién estoy comenzando con Idea y esperaba que una función de uso tan frecuente sustituya a la versión de Eclipse, o sea al menos igual de buena ...
petrsyn
1
13.1 Ultimate parece tenerlo de vuelta y el atajo funciona.
Jason D
Jerarquía de clases UML Ctrl + Alt + U funciona solo en Ultimate Edition
Srujan Kumar Gulla
Ctrl + Alt + U ni siquiera muestra todos los rasgos ancestrales. Solo padres directos. Patético.
Raptado
16

Prueba también CTRL+ SHIFT+ Aen caso de duda. El atajo para la información del atajo.

sorencito
fuente
16

Intellij, a diferencia de Eclipse, distingue entre jerarquías de tipo y clases de implementación . Todavía estoy indeciso si esto es algo bueno o no (solo cambié de Eclipse a Intellij)

En una Mac Intellij 14

  • Ctrl+ Hmostrará la jerarquía de tipos mostrando subtipos y supertipos
  • Cmd+ Alt+ Ble mostrará todas las clases y subclases de implementación de la interfaz / clase que le interesa
Stefan Haberl
fuente
CTRL + ALT + B no solo tiene sentido con las interfaces, también muestra todas las subclases de una clase, por lo que es fácilmente visible qué tipos heredan de la clase en la que está interesado.
nachteil
@nachteil gracias. No lo sabia. Cambié la descripción de cmd + alt + b
Stefan Haberl
Sí, Ctrl + H es la respuesta correcta Ctrl + Alt + B no es exactamente Ctrl + T del eclipse
prash
12

En IntelliJ IDEA 12, es Navegar> Jerarquía de tipos (Ctrl + Hpor defecto).

thSoft
fuente
6

Para los usuarios de Mac que vienen aquí, este es el acceso directo para IntelliJ 14.1.4:

+ Hpor defecto.

mkobit
fuente
4

Para usuarios de Mac , el acceso directo es

^(control) + h

Zia
fuente
3

En IntelliJ 13, es Navegar> Implementaciones o CMD+ ALT+ Bpor defecto. Por supuesto, este acceso directo se puede anular en sus preferencias de Keymap.

Cody A. Ray
fuente
2

No conozco las versiones anteriores, pero en IntelliJ versión 13 puede acceder a sus preferencias de Mapa de teclas, buscar "Implementaciones" y vincular eso a Ctrl+ T. Funcionará muy parecido al equivalente de Eclipse.

Pohl
fuente
1

Mientras Eclipse incluye la jerarquía de tipo y estructura de clase (métodos, campos etc.) en una sola vista, IntelliJ divide estas arriba: Además de la CTRL+ H(o ALT+ 8) "Tipo Jerarquía" punto de vista, la otra ventana correspondiente IntelliJ se llama "Estructura " y se puede invocar a través de ALT+ 7(Estructura de la ventana de herramientas) o CTRL+ F12(Estructura emergente).

(No es una respuesta directa a la pregunta exacta publicada, pero esperaría que otros de un entorno de Eclipse puedan llegar aquí buscando en Google "jerarquía de tipo intellij", como lo hice yo).

Steve Chambers
fuente
1

Ctrl+U - ir a la clase base

Ctrl+Alt+B- Llegué a la implementación. Escriba partes del nombre de la clase para reducir la lista

Ctrl+H - Abrir ventana de herramienta de jerarquía de tipos

Ctrl+Alt+U - jerarquía de herencia de clase / interfaz peek

Konstantin Spirin
fuente
1

Con Eclipse, al presionar Ctrl+ Ten un tipo se muestran sus subtipos y al presionar nuevamente Ctrl+ se Tmuestran los supertipos. Y entonces para ... esto es una palanca.
Eso es realmente útil y también muy directo.

Desafortunadamente con IntelliJ, el cambio entre los supertipos y los subtipos no tiene ningún acceso directo predeterminado. Por lo tanto, tendrá que hacer clic en los iconos de las ventanas de jerarquía.
Si, como yo, prefiere los métodos abreviados de teclado a la opción "mover el cursor y hacer clic en el mouse", le recomiendo que establezca un enlace para estas dos operaciones. Por ejemplo Ctrl+ Down para subtipos y Ctrl+Up para supertipos.

Donde puede cambiar el enlace ("Bas" significa "Abajo" y "Haut" significa "Arriba"): aguardando

Tenga en cuenta que estos enlaces son contextuales al contexto "Otro" (Eclipse tiene un concepto suficientemente similar). 1) De esta manera, enter Ctrl+ Ten un ArrayListtipo produce:

Jerarquía predeterminada

2) Enter Ctrl+ se Downcentra en los subtipos:

enfoque de subtipos

3) y Enter Ctrl+Up centra en los supertipos:

foco de supertipos

De esta manera, me parece mejor que el comportamiento predeterminado, pero para ser honesto, incluso con la adición de ese acceso directo, la función IntelliJ no es tan buena como Eclipse, que el acceso directo Ctrl+ Ttambién funciona en los métodos ...

davidxxx
fuente
0

Hay una vista de jerarquía como en Eclipse, eche un vistazo al menú Ver / Herramientas Windows / Jerarquía o presione Alt-8 o F4.

Herberlin
fuente