web-dev-qa-db-fra.com

ctrl-clic va à la déclaration de la méthode sur laquelle j'ai cliqué. Pour les interfaces avec une implémentation, comment puis-je accéder directement à cette implémentation?

Je dois souvent déboguer du code Java qui a été écrit pour qu'il y ait une interface et exactement une implémentation de cette interface.

Par exemple, il y aurait une interface Foo avec exactement une implémentation appelée FooImpl. Dans le code suivant, si je ctrl-clic sur doThings, il passe à Foo.Java alors que je souhaite réellement accéder à FooImpl.Java pour voir sa mise en oeuvre.

public void doStuff(Foo foo) {
    foo.doThings();
}   

Quand je me retrouve à l'interface, je dois utiliser ctrl-shift-r pour ouvrir FooImpl. Ce serait vraiment bien si je pouvais faire quelque chose de lécher ctrl-alt-clic sur doThings et me retrouver dans FooImpl.Java. S'il y a plusieurs implémentations dans l'espace de travail, alors peut-être qu'une fenêtre apparaîtra pour m'indiquer ce qu'elles sont.

Y at-il un plugin ou une fonction existante dans Eclipse qui fait cela? Je sais que je pourrais accéder à Foo.Java, puis obtenir la hiérarchie et accéder à l'implémentation, mais il faut plus de clics que nécessaire lorsqu'il existe exactement une implémentation d'une interface.

36
HappyEngineer

Le Implementors plugin fait à peu près exactement ce que vous demandez. S'il n'y a qu'une seule implémentation, elle l'ouvrira directement, sinon elle vous laissera choisir.

15
Micke
  1. Bannière dans le curseur sur la méthode
  2. Drücken SieCtrl+T
  3. Wählen Sie Ihre gewünschte Implementierung
  4. SchlagenEnter

Dies funktioniert au mois, quand je mettais en œuvre vierhan sind.

58
meriton

Allez à Fenêtre> Préférences> Général> Editeurs> Editeurs de texte> - Hyperlinking, et décochez Open DeclarationPreferences screenshot

A partir de maintenant, quand tu tiens Ctrl en survolant un nom de méthode, la fenêtre contextuelle suivante s'affiche. Cliquez simplement sur le nom de la méthode et l'implémentation sera ouverte (ou une boîte Types mettant en œuvre XXX, s'il existe plusieurs implémentations).

Popup box

Vous pourrez toujours utiliser la fonction Open Declaration en appuyant sur F3.

24
Morgan Courbet

Dans Eclipse 3.5, lorsque vous passez la souris sur doThings tout en maintenant la touche Ctrl enfoncée, une boîte de dialogue vous permet de cliquer sur deux options:

  • Déclaration ouverte
  • Mise en œuvre ouverte

Il y a une capture d'écran comme deuxième section de la page Eclipse 3.5 New & Noteworthy pour JDT :

alt text http://download.Eclipse.org/Eclipse/downloads/drops/R-3.5-200906111540/images/open-implementation.png

19
Stephen Denne

Dans Eclipse IDE pour les développeurs C/C++ Version: Version Oxygen.3a (4.7.3a) j'ai vu Ctrl+Tab (Basculer Source/En-tête) qui a fonctionné pour moi (bien que pas directement mais c’est une solution de contournement).

Toggle Source/Header

0
didinino