Salte a la implementación de la interfaz en Eclipse IDE

140

¿Sabes cómo en Eclipse, presionar F3sobre un método te llevará a su declaración? Bueno, tengo un método que es parte de una interfaz; hacer clic F3sobre esto, naturalmente, me lleva a la interfaz de declaración.

Obviamente, hay un objeto que implementa esta interfaz y aquí es donde se implementa realmente el método. Cuando presiono, quiero F3saltar a la implementación, no a la declaración de la interfaz. Sé que la implementación puede no conocerse en tiempo de compilación, entonces ¿hay alguna forma para que Eclipse me muestre todas las clases que implementan la interfaz para que pueda seleccionar qué método implementado ver? En este momento, cuando esto sucede, solo estoy buscando esto manualmente para encontrar el método implementado.

aeq
fuente
44
Ctrl + T te da una ventana emergente, F4 abre una ventana
Stephan

Respuestas:

137

Esto es lo que hago:

  • En la interfaz, mueva el cursor al nombre del método. Presione F4. => Aparece la vista de jerarquía de tipos
  • En la parte inferior de la vista, el método ya debería estar seleccionado. En su barra de herramientas, haga clic en "Bloquear vista y mostrar miembros en jerarquía" (debe ser el icono de la barra de herramientas más a la izquierda).
  • En la parte superior de la vista, puede examinar todas las implementaciones del método.

El procedimiento no es muy rápido, pero le brinda una buena visión general.

Chris Lercher
fuente
129

Bueno ... bueno ... espero que uses Eclipse Helios, porque lo que pediste está disponible en Helios.

Coloque el cursor de texto nuevamente en el método y haga clic en el menú Navegar → Abrir implementación. Ahora, si tiene más de una implementación del método, tendrá la opción de elegir qué implementación abrir.

texto alternativo

Al definir una combinación de teclas en Preferencias → General → Teclas, incluso puede usar la función más fácilmente, pero antes de hacerlo, vea si este acceso directo es lo suficientemente rápido para usted.

Presione Ctrl + clic y mantenga presionado. Ahora mueva el mouse sobre el mismo método. Tadam ... tendrás elección.

texto alternativo

Si elige la implementación abierta, obtendrá la misma opción que antes.

nanda
fuente
3
Fantástico. Esto resuelve algo que siempre me ha molestado sobre el eclipse. :) Muchas gracias.
Brimborium
Gran consejo! pero también puede pasar el cursor sobre y presionar ctrl y luego seleccionar del menú desplegable [en eclipse de oxígeno] ... Quiero decir que es posible que no necesite mantener presionada la tecla ctrl + clic ahora.
viejo monje
73

Presione Ctrl+ Ten el nombre del método (en lugar de F3). Esto proporciona la jerarquía de tipos como una ventana emergente, por lo que es un poco más rápido que el uso F4y la vista de jerarquía de tipos.

Además, cuando se hace en un método, los subtipos que no implementan / anulan el método estarán atenuados, y cuando haga doble clic en una clase en la lista, lo llevará directamente al método en esa clase.

Jonathan
fuente
2
Funciona muy bien con solo teclado. Simplemente CTRL + T y use las teclas de flecha para navegar. Presione Entrar para saltar a la implementación.
Es Leto
54

Hay un gran aumento de la productividad si agrega un enlace de tecla Alt+ F3a la función de Implementación abierta, y solo se usa F3para ir a las interfaces, y Alt+ F3para ir a las implementaciones.

Implementación abierta de atajos de teclado

Lukasz Frankowski
fuente
2
Gran consejo! Gracias. Sin embargo, es triste que el eclipse solo busque un nivel de jerarquía.
Snicolas
Esta solución funcionó para mí. Muchos de los otros (especialmente los complementos) no lo hicieron.
Nelda.techspiress
En Eclipse Neon Alt + F3 se utiliza para Incremental Find, elegí Alt + I en su lugar
user7294900
12

Resalte una interfaz y use Ctrl+ Tpara abrir "Jerarquía de tipo rápido".

Roland
fuente
12
ctrl + mouse hover + click "Open Implementation"

Encendido ctrl + hover, debería ver el siguiente menú:

ingrese la descripción de la imagen aquí

Probado en Eclipse Mars.2 (4.5.2)

tbraun
fuente
3

Esto es lo que hago:

Presiono comando (en Mac, probablemente control en PC) y luego paso el mouse sobre el método o la clase. Cuando haga esto, aparecerá una ventana emergente con las opciones "Declaración abierta", "Implementación abierta", "Tipo de retorno abierto". Luego puede hacer clic en lo que desee y Eclipse lo trae allí mismo. Creo que esto funciona para la versión 3.6 y posteriores.

Es tan rápido como IntelliJ, creo.

Mangusta
fuente
2

Ver En eclipse, ctrl-click va a la declaración del método en el que hice clic. Para las interfaces con una implementación, ¿cómo puedo acceder directamente a esa implementación? para algunas soluciones alternativas.

  • De todos modos, creo que podrías estar buscando algo como esto:

http://eclipse-tools.sourceforge.net/implementors/

Mahju
fuente
Gracias, esto también fue útil. Desde ese enlace también puede hacer clic en el método mientras mantiene presionada 'cntrl' y luego elegir 'Abrir implementación'. Esto es aún más rápido.
aeq
0

Si realmente está buscando acelerar su navegación de código, es posible que desee echar un vistazo a nWire para Java . Es un complemento de exploración de código para Eclipse. Puede ver al instante todos los artefactos relacionados. Entonces, en ese caso, se centrará en la llamada al método y verá instantáneamente todas las implementaciones, declaraciones, invocaciones posibles, etc.

zvikico
fuente
0

La mejor solución sería Ctrl+ Alt+ I.

computacion
fuente