2010-07-15 23 views
126

Vous savez comment dans Eclipse, en appuyant sur F3 sur une méthode vous amène à sa déclaration? Eh bien, j'ai une méthode qui fait partie d'une interface; en cliquant sur F3 par-dessus cela me conduit naturellement à l'interface de déclaration.Aller dans l'implémentation d'interface dans Eclipse IDE

De toute évidence, il existe un objet implémentant cette interface et c'est là que la méthode est implémentée. Je veux, quand je presse F3, pour passer à l'implémentation, pas la déclaration de l'interface. Je sais que l'implémentation peut ne pas être connue au moment de la compilation, est-ce qu'il y a moyen pour Eclipse de me montrer toutes les classes implémentant l'interface pour que je puisse sélectionner la méthode implémentée à afficher? Maintenant, quand cela arrive, je suis juste à la recherche manuelle pour trouver la méthode implémentée.

+2

Ctrl + T vous donne une fenêtre contextuelle, F4 ouvre une fenêtre – Stephan

Répondre

121

Voici ce que je fais:

  • Dans l'interface, déplacez le curseur sur le nom de la méthode. Appuyez sur F4. => La vue Hiérarchie des types apparaît
  • Dans la partie inférieure de la vue, la méthode doit déjà être sélectionnée. Dans sa barre d'outils, cliquez sur "Verrouiller la vue et afficher les membres dans la hiérarchie" (devrait être l'icône de la barre d'outils la plus à gauche).
  • Dans la partie supérieure de la vue, vous pouvez parcourir toutes les implémentations de la méthode.

La procédure n'est pas très rapide, mais elle vous donne une bonne vue d'ensemble.

+2

C'est génial et assez rapide pour moi (beaucoup plus rapide qu'une recherche de fichiers comme je l'ai fait). merci – aeq

+0

Excellente réponse. Exactement ce que je cherchais. – Pbd

2
+0

Merci cela a été utile aussi. À partir de ce lien, vous pouvez également cliquer sur la méthode tout en maintenant la touche 'cntrl' enfoncée, puis choisir 'Open Implementation'. C'est encore plus rapide. – aeq

65

Appuyez sur Ctrl + T sur le nom de la méthode (plutôt que F3). Cela donne à la hiérarchie de type sous la forme d'une fenêtre contextuelle. Elle est donc légèrement plus rapide que l'utilisation de F4 et de la vue de hiérarchie de types. De même, lorsque vous effectuez une méthode, les sous-types qui n'implémentent pas ou ne remplacent pas la méthode seront grisés, et lorsque vous double-cliquez sur une classe dans la liste, vous accéderez directement à la méthode de cette classe.

+1

fonctionne gr8 sur mac –

+0

J'avais l'habitude d'utiliser les conseils de @Chris Lercher, mais votre méthode est beaucoup plus productive! Merci Jonathan! –

+1

Fonctionne également très bien avec le clavier seulement. Juste CTRL + T et utilisez les touches fléchées pour naviguer. Appuyez sur Entrée pour passer à l'implémentation. –

122

Eh bien ... eh bien ... J'espère que vous utilisez Eclipse Helios, parce que ce que vous avez demandé est disponible sur Helios.

Placez à nouveau le curseur de texte sur la méthode et cliquez sur le menu Navigate → Open Implementation. Maintenant, si vous avez plus d'une implémentation de la méthode, vous aurez le choix de choisir quelle implémentation ouvrir.

alt text

En définissant une combinaison de touches sur Préférences → Général → Touches Vous pouvez même utiliser la fonction plus facile, mais avant de le faire, si ce raccourci est assez rapide pour vous.

Appuyez sur Ctrl + clic et maintenez. Maintenant déplacez votre souris sur la même méthode. Tadam ... vous aurez le choix.

alt text

Si vous choisissez la mise en œuvre ouverte, vous aurez le même choix que précédemment.

+5

+1 J'ai raté ce Ctrl-clic, bon conseil – leonbloy

+2

Fantastique. Cela résout quelque chose qui m'a toujours dérangé à propos d'éclipse. :) Merci beaucoup. – brimborium

0

Si vous cherchez vraiment à accélérer votre navigation de code, vous pouvez jeter un oeil à nWire for Java. C'est un plugin d'exploration de code pour Eclipse. Vous pouvez voir instantanément tous les artefacts connexes. Donc, dans ce cas, vous allez vous concentrer sur l'appel de méthode et voir instantanément toutes les implémentations possibles, des déclarations, des invocations, etc.

52

Il y a un grand gain de productivité si vous ajoutez une clé Alt + F3 liaison au Ouvrez la fonctionnalité d'implémentation, et utilisez simplement F3 pour accéder aux interfaces, et Alt + F3 pour accéder aux implémentations.

Open implementation keybinding

+2

Bon conseil! Merci. Juste triste que l'éclipse recherche seulement un niveau de la hiérarchie cependant. – Snicolas

+0

Cette solution a fonctionné pour moi. Beaucoup d'autres (en particulier les pluggins) ne l'ont pas fait. –

+0

Nice, merci mon pote, c'est la meilleure astuce pour Eclipse je sais :) – agilob

10

Sélectionnez une interface et utilisez Ctrl +T pour ouvrir "Type rapide Hiérarchie".

3

Voici ce que je fais:

je presse commande (sur Mac, contrôlez probablement sur PC), puis passez la souris sur la méthode ou la classe. Lorsque vous faites cela, une fenêtre contextuelle apparaîtra avec les choix "Open Declaration", "Open Implementation", "Open Return Type". Vous pouvez ensuite cliquer sur ce que vous voulez et Eclipse vous amène directement là-bas. Je crois que cela fonctionne pour la version 3.6 et plus.

Je pense que c'est aussi rapide qu'IntelliJ.

12
ctrl + mouse hover + click "Open Implementation" 

Sur ctrl + hover, vous devriez voir le menu suivant:

enter image description here

Testé sur Eclipse Mars.2 (4.5.2)