2010-07-15 19 views
126

Sai come in Eclipse, premendo F3 tramite un metodo, si arriva alla sua dichiarazione? Bene, ho un metodo che fa parte di un'interfaccia; fare clic su F3 su questo naturalmente mi porta all'interfaccia dichiarante.Passa all'implementazione dell'interfaccia in IDE Eclipse

Ovviamente esiste un oggetto che implementa questa interfaccia ed è qui che il metodo viene effettivamente implementato. Voglio, quando preme F3, per passare all'implementazione, non alla dichiarazione dell'interfaccia. So che l'implementazione potrebbe non essere conosciuta in fase di compilazione, quindi c'è un modo per Eclipse per mostrarmi tutte le classi che implementano l'interfaccia in modo da poter selezionare quale metodo implementato visualizzare? In questo momento, quando ciò accade, cerco solo manualmente di trovare il metodo implementato.

+2

Ctrl + T ti dà un popup, F4 si apre una finestra – Stephan

risposta

121

Ecco quello che faccio:

  • Nell'interfaccia, spostare il cursore sul nome del metodo. Premere F4. => Viene visualizzata la visualizzazione della gerarchia dei tipi
  • Nella parte inferiore della vista, il metodo dovrebbe già essere selezionato. Nella barra degli strumenti, fai clic su "Blocca vista e mostra membri in gerarchia" (dovrebbe essere l'icona della barra degli strumenti più a sinistra).
  • Nella parte superiore della vista, è possibile sfogliare tutte le implementazioni del metodo.

La procedura non è molto veloce, ma offre una buona panoramica.

+2

Questo è grande e abbastanza veloce per me (molto più veloce di una ricerca di file come ho fatto). grazie – aeq

+0

Ottima risposta. Esattamente quello che stavo cercando. – Pbd

2
+0

Grazie anche a questo. Da quel collegamento puoi anche cliccare sul metodo tenendo premuto 'cntrl' e quindi scegliere 'Apri implementazione'. Questo è ancora più veloce. – aeq

65

Press Ctrl + T sul nome del metodo (anziché F3). In questo modo la gerarchia di tipi viene visualizzata come popup, quindi è leggermente più veloce rispetto all'utilizzo di F4 e alla visualizzazione della gerarchia di tipi.

Inoltre, quando si esegue un metodo, i sottotipi che non implementano/sovrascrivono il metodo non saranno disponibili, e quando si fa doppio clic su una classe nell'elenco, si passerà direttamente al metodo in quella classe.

+1

funziona gr8 su mac –

+0

Ho usato il consiglio di @Chris Lercher, ma il tuo metodo è molto più produttivo! Grazie Jonathan! –

+1

Funziona anche alla grande solo con tastiera. Basta CTRL + T e usa i tasti freccia per navigare. Premi Invio per passare all'implementazione. –

122

Bene ... beh ... spero che tu usi Eclipse Helios, perché quello che hai chiesto è disponibile su Helios.

Riposizionare il cursore del testo sul metodo e fare clic sul menu Naviga → Apri implementazione. Ora se hai più di una implementazione del metodo, avrai la possibilità di scegliere quale implementazione aprire.

alt text

Definendo una combinazione di tasti su Preferenze → Generale → Keys si può anche utilizzare la funzione più facile, ma prima di farlo, vedere se questo collegamento è abbastanza veloce per voi.

Premere Ctrl + clic e tenere premuto. Ora sposta il mouse sullo stesso metodo. Tadam ... avrai una scelta.

alt text

Se si sceglie Apri Attuazione si otterrà la stessa scelta come prima.

+5

+1 Ho perso questo Ctrl-clic, ottimo suggerimento – leonbloy

+2

Fantastico. Questo risolve qualcosa che mi ha sempre infastidito da eclissi. :) Molte grazie. – brimborium

0

Se si sta veramente cercando di accelerare la navigazione del codice, si potrebbe voler dare un'occhiata a nWire for Java. È un plug-in di esplorazione del codice per Eclipse. Puoi vedere immediatamente tutti gli artefatti correlati. Quindi, in questo caso, si concentrerà sulla chiamata di metodo e vedere immediatamente tutte le possibili implementazioni, le dichiarazioni, le invocazioni, ecc

52

C'è una grande spinta di produttività se si aggiunge un Alt + F3 chiave legame con il Aprire la funzionalità di implementazione e utilizzare semplicemente F3 per passare alle interfacce e Alt + F3 per andare alle implementazioni.

Open implementation keybinding

+2

Ottimo consiglio! Grazie. Solo triste che Eclipse cerchi solo un livello di gerarchia. – Snicolas

+0

Questa soluzione ha funzionato per me. Molti degli altri (specialmente i pluggins) non l'hanno fatto. –

+0

Bello, grazie amico, questo è il miglior consiglio per Eclipse che conosco :) – agilob

10

Evidenziare un'interfaccia e utilizzare Ctrl +T aprire "Tipo Gerarchia rapida".

3

Ecco quello che faccio:

premo comando (su Mac, probabilmente controlla su PC) e quindi passa il mouse sopra il metodo o la classe. Quando lo fai, apparirà una finestra pop-up con le opzioni "Dichiarazione aperta", "Implementazione aperta", "Tipo di reso aperto". Puoi quindi fare clic su ciò che desideri ed Eclipse ti porta proprio lì. Credo che funzioni per la versione 3.6 e successive.

È veloce come IntelliJ, penso.

12
ctrl + mouse hover + click "Open Implementation" 

Su ctrl + hover, si dovrebbe vedere il seguente menu:

enter image description here

Testato su Eclipse Mars.2 (4.5.2)

Problemi correlati