Przejdź do implementacji interfejsu w Eclipse IDE

140

Wiesz, jak w Eclipse naciśnięcie przycisku F3spowoduje przejście do jej deklaracji? Cóż, mam metodę, która jest częścią interfejsu; kliknięcie F3tego w naturalny sposób przenosi mnie do interfejsu deklarowania.

Oczywiście istnieje obiekt implementujący ten interfejs i tutaj metoda jest faktycznie implementowana. Chcę, aby po naciśnięciu F3przejść do implementacji, a nie do deklaracji interfejsu. Wiem, że implementacja może nie być znana w czasie kompilacji, więc czy istnieje sposób, aby Eclipse pokazał mi wszystkie klasy implementujące interfejs, abym mógł wybrać zaimplementowaną metodę do wyświetlenia? Teraz, kiedy tak się dzieje, szukam tego ręcznie, aby znaleźć zaimplementowaną metodę.

aeq
źródło
4
Ctrl + T wyświetla wyskakujące okienko, F4 otwiera okno
Stephan

Odpowiedzi:

137

Oto co robię:

  • W interfejsie przesuń kursor na nazwę metody. Naciśnij F4. => Pojawia się widok hierarchii typów
  • W dolnej części widoku należy już wybrać metodę. Na pasku narzędzi kliknij „Zablokuj widok i pokaż członków w hierarchii” (powinna to być ikona paska narzędzi znajdująca się najbardziej po lewej stronie).
  • W górnej części widoku możesz przeglądać wszystkie implementacje metody.

Procedura nie jest bardzo szybka, ale daje dobry przegląd.

Chris Lercher
źródło
129

Cóż ... cóż ... Mam nadzieję, że używasz Eclipse Helios, ponieważ to, o co prosiłeś, jest dostępne na Heliosie.

Umieść kursor tekstowy ponownie na metodzie i kliknij menu Nawiguj → Otwórz implementację. Jeśli masz więcej niż jedną implementację metody, możesz wybrać, którą implementację chcesz otworzyć.

tekst alternatywny

Definiując klawisze w Preferencjach → Ogólne → Klawisze możesz nawet łatwiej korzystać z tej funkcji, ale zanim to zrobisz, sprawdź, czy ten skrót jest wystarczająco szybki.

Naciśnij Ctrl + kliknij i przytrzymaj. Teraz przesuń kursor myszy na tę samą metodę. Tadam… będziesz miał wybór.

tekst alternatywny

Jeśli wybierzesz otwartą implementację, będziesz mieć taki sam wybór jak poprzednio.

nanda
źródło
3
Fantastyczny. To rozwiązuje problem, który zawsze przeszkadzał mi w zaćmieniu. :) Wielkie dzięki.
brimborium
Świetna wskazówka! ale także możesz po prostu najechać kursorem i nacisnąć ctrl, a następnie wybrać z listy rozwijanej [w zaćmieniu tlenu] .... Mam na myśli to, że nie musisz teraz trzymać wciśniętego klawisza Ctrl + kliknięcie.
stary mnich
73

Naciśnij Ctrl+ Tna nazwie metody (zamiast F3). Dzięki temu hierarchia typów jest wyskakująca, więc jest nieco szybsza niż używanie F4i widok hierarchii typów.

Ponadto, po wykonaniu dla metody, podtypy, które nie implementują / nie zastępują metody, będą wyszarzone, a po dwukrotnym kliknięciu klasy na liście przeniesie Cię bezpośrednio do metody w tej klasie.

Jonathan
źródło
2
Działa również świetnie z samą klawiaturą. Po prostu CTRL + T i użyj klawiszy strzałek do nawigacji. Naciśnij klawisz Enter, aby przejść do implementacji.
Jest Leto
54

Jeśli dodasz powiązanie klawisza Alt+ F3do funkcji Open Implementation i po prostu użyjesz, F3aby przejść do interfejsów, i Alt+, F3aby przejść do implementacji, nastąpi duży wzrost produktywności .

Otwórz powiązanie klucza implementacji

Łukasz Frankowski
źródło
2
Świetna wskazówka! Dzięki. Tylko smutne, że zaćmienie przeszukuje tylko jeden poziom hierarchii.
Snicolas
To rozwiązanie zadziałało dla mnie. Wielu innym (zwłaszcza wtyczkom) nie.
Nelda.techspiress
W Eclipse Neon Alt + F3 jest używany do Incremental Find, wybrałem zamiast tego Alt + I
user7294900
12

Podświetl interfejs i użyj Ctrl+, Taby otworzyć „Hierarchię szybkich typów”.

Roland
źródło
12
ctrl + mouse hover + click "Open Implementation"

On ctrl + hoverpowinien pojawić się następujące menu:

wprowadź opis obrazu tutaj

Testowano na Eclipse Mars.2 (4.5.2)

tbraun
źródło
3

Oto co robię:

Naciskam polecenie (na Macu, prawdopodobnie control na PC), a następnie najeżdżam kursorem na metodę lub klasę. Gdy to zrobisz, pojawi się wyskakujące okienko z opcjami „Otwórz deklarację”, „Otwórz implementację”, „Otwórz typ zwrotu”. Następnie możesz kliknąć to, co chcesz, a Eclipse przeniesie Cię tam. Uważam, że działa to w wersji 3.6 i nowszych.

To jest tak samo szybkie, jak myślę, IntelliJ.

Mangusta
źródło
2

Zobacz W eclipse, ctrl-click przechodzi do deklaracji metody, którą kliknąłem. W przypadku interfejsów z jedną implementacją, jak mogę bezpośrednio do tej implementacji? dla alternatywnych rozwiązań.

  • W każdym razie myślę, że możesz szukać czegoś takiego:

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

mahju
źródło
Dzięki, to też było pomocne. Z tego linku możesz także kliknąć metodę, przytrzymując klawisz „cntrl”, a następnie wybrać „Otwórz implementację”. To jest jeszcze szybsze.
aeq
0

Jeśli naprawdę chcesz przyspieszyć nawigację po kodzie, możesz rzucić okiem na nWire for Java . Jest to wtyczka do eksploracji kodu dla Eclipse. Możesz natychmiast zobaczyć wszystkie powiązane artefakty. W takim przypadku skupisz się na wywołaniu metody i natychmiast zobaczysz wszystkie możliwe implementacje, deklaracje, wywołania itp.

zvikico
źródło
0

Najlepszym rozwiązaniem byłoby Ctrl+ Alt+ I.

computingfreak
źródło