Entre na implementação da interface no Eclipse IDE

140

Você sabe como, no Eclipse, pressionar F3um método levará você à sua declaração? Bem, eu tenho um método que faz parte de uma interface; clicar F3sobre isso naturalmente me leva à interface de declaração.

Obviamente, há um objeto implementando essa interface e é aqui que o método é realmente implementado. Eu quero, quando pressiono F3, pular para a implementação, não a declaração da interface. Sei que a implementação pode não ser conhecida em tempo de compilação, existe uma maneira do Eclipse me mostrar todas as classes que implementam a interface para que eu possa selecionar qual método implementado exibir? Agora, quando isso acontece, estou apenas procurando manualmente para encontrar o método implementado.

aeq
fonte
4
Ctrl + T dá-lhe um pop-up, F4 abre uma janela
Stephan

Respostas:

137

Aqui está o que eu faço:

  • Na interface, mova o cursor para o nome do método. Pressione F4. => A visualização Hierarquia de tipos é exibida
  • Na parte inferior da visualização, o método já deve estar selecionado. Na barra de ferramentas, clique em "Bloquear visualização e mostrar membros na hierarquia" (deve ser o ícone da barra de ferramentas mais à esquerda).
  • Na parte superior da visualização, você pode navegar por todas as implementações do método.

O procedimento não é muito rápido, mas fornece uma boa visão geral.

Chris Lercher
fonte
129

Bem ... bem ... Espero que você use o Eclipse Helios, porque o que você pediu está disponível no Helios.

Coloque o cursor de texto novamente no método e clique no menu Navegar → Abrir Implementação. Agora, se você tiver mais de uma implementação do método, terá a opção de escolher qual implementação abrir.

texto alternativo

Ao definir uma combinação de teclas em Preferências → Geral → Teclas, você pode usar o recurso mais facilmente, mas antes de fazer isso, verifique se esse atalho é rápido o suficiente para você.

Pressione Ctrl + clique e segure. Agora mova o mouse sobre o mesmo método. Tadam ... você terá escolha.

texto alternativo

Se você escolher a implementação aberta, terá a mesma escolha de antes.

Nanda
fonte
3
Fantástico. Isso resolve algo que sempre me incomodou sobre o eclipse. :) Muito obrigado.
Brimborium 29/05
Ótima dica! mas você também pode passar o cursor sobre o mouse e pressionar ctrl e, em seguida, selecionar no menu suspenso [no eclipse oxygen] .... Quero dizer, talvez você não precise manter a tecla ctrl + clique pressionada agora.
old-monge
73

Pressione Ctrl+ Tno nome do método (em vez de F3). Isso fornece a hierarquia de tipos como um pop-up, por isso é um pouco mais rápido que o uso F4e a visualização da hierarquia de tipos.

Além disso, quando feito em um método, os subtipos que não implementam / substituem o método ficam acinzentados e, quando você clica duas vezes em uma classe na lista, ele o leva diretamente ao método nessa classe.

Jonathan
fonte
2
Funciona também muito bem com apenas teclado. Apenas CTRL + T e use as setas para navegar. Pressione Enter para ir para a implementação.
É de Leto
54

Há um grande aumento de produtividade se você adicionar uma ligação de tecla Alt+ F3ao recurso Open Implementation e usar apenas F3para acessar interfaces e Alt+ F3para acessar implementações.

Vinculação de teclas de implementação aberta

Lukasz Frankowski
fonte
2
Ótima dica! Obrigado. É triste que o eclipse pesquise apenas um nível de hierarquia.
Snicolas
Esta solução funcionou para mim. Muitos dos outros (especialmente os pluggins) não o fizeram.
Nelda.techspiress 17/06/2016
No Eclipse Neon, Alt + F3 é usado Incremental Find, em vez disso, escolhi Alt + I
#
12

Destaque uma interface e use Ctrl+ Tpara abrir "Quick Type Hierarchy".

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

Em ctrl + hover, você deverá ver o seguinte menu:

insira a descrição da imagem aqui

Testado no Eclipse Mars.2 (4.5.2)

tbraun
fonte
3

Aqui está o que eu faço:

Pressiono comando (no Mac, provavelmente controle no PC) e passo o mouse sobre o método ou a classe. Ao fazer isso, uma janela pop-up aparecerá com as opções "Declaração aberta", "Implementação aberta", "Tipo de retorno aberto". Você pode clicar no que deseja e o Eclipse o levará até lá. Acredito que isso funcione para a versão 3.6 e posterior.

É tão rápido quanto o IntelliJ, eu acho.

Mangusta
fonte
2

Consulte No eclipse, ctrl-click vai para a declaração do método em que cliquei. Para interfaces com uma implementação, como posso diretamente diretamente a essa implementação? para algumas soluções alternativas.

  • Enfim, acho que você pode estar procurando algo assim:

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

mahju
fonte
Graças isso também foi útil. Nesse link, você também pode clicar no método enquanto mantém pressionado 'cntrl' e depois escolher 'Abrir implementação'. Isso é ainda mais rápido.
AEQ
0

Se você realmente deseja acelerar a navegação de código, dê uma olhada no nWire for Java . É um plugin de exploração de código para o Eclipse. Você pode ver instantaneamente todos os artefatos relacionados. Portanto, nesse caso, você se concentrará na chamada do método e verá instantaneamente todas as implementações, declarações, invocações etc.

zvikico
fonte
0

A melhor solução seria Ctrl+ Alt+ I.

computerfreak
fonte