Перейти до реалізації інтерфейсу в Eclipse IDE


140

Ви знаєте, як у Eclipse, натискання F3на метод призведе вас до його декларації? Ну у мене є метод, який є частиною інтерфейсу; натискання F3на це, природно, відводить мене до інтерфейсу декларування.

Очевидно, є об'єкт, що реалізує цей інтерфейс, і саме тут метод реально реалізований. Я хочу, коли натискаю F3, перейти до реалізації, а не до оголошення інтерфейсу. Я знаю, що реалізація може бути невідома під час компіляції, тому чи існує спосіб, щоб Eclipse показав мені всі класи, що реалізують інтерфейс, щоб я міг вибрати який реалізований метод для перегляду? Зараз, коли це відбувається, я просто вручну шукаю це, щоб знайти реалізований метод.


4
Ctrl + T дає вам спливаюче вікно, F4 відкриває вікно
Стефан

Відповіді:


137

Ось що я роблю:

  • В інтерфейсі перемістіть курсор на ім'я методу. Натисніть F4. => З'явиться подання типу "Ієрархія"
  • У нижній частині подання метод уже повинен бути обраний. На його панелі інструментів натисніть «Перегляд блокування та покажіть членів в ієрархії» (має бути крайнім лівим значком панелі інструментів).
  • У верхній частині подання ви можете переглядати всі реалізації способу.

Процедура не дуже швидка, але дає хороший огляд.


129

Ну ... ну ... я сподіваюся, що ви використовуєте Eclipse Helios, адже те, що ви запитали, доступне на Helios.

Поставте текстовий курсор знову на метод та натисніть меню Перейти → Відкрити реалізацію. Тепер, якщо у вас є кілька способів реалізації методу, ви отримаєте вибір вибрати, яку реалізацію відкрити.

alt текст

Визначивши прив'язку клавіш до налаштувань → Загальні → Клавіші, ви навіть можете використовувати цю функцію простіше, але перш ніж це зробити, подивіться, чи ця швидка швидкість для вас досить швидка.

Натисніть Ctrl + натисніть і утримуйте. Тепер перемістіть мишу тим же методом. Тадам ... ти отримаєш вибір.

alt текст

Якщо ви виберете Open Implementation, ви отримаєте той самий вибір, що і раніше.


3
Фантастичний. Це вирішує щось, що завжди набридло мені про затемнення. :) Дуже дякую.
Brimborium

Чудова порада! але також ви можете просто навести курсор миші та натиснути клавішу ctrl, а потім вибрати з випадаючого [у затьмаренні кисню] .... Я маю на увазі, що вам, можливо, не потрібно буде тримати ctrl + клацнути зараз.
старець-монах

73

Натисніть Ctrl+ Tна назві методу (а не F3). Це дає ієрархію типів як спливаюче вікно, тому трохи швидше, ніж використання F4та перегляд ієрархії типів.

Крім того, коли буде зроблено метод, підтипи, які не реалізують / не переосмислюють метод, будуть затьмарені, і коли ви двічі клацніть класом у списку, він переведе вас прямо до методу цього класу.


2
Також чудово працює лише для клавіатури. Просто натисніть CTRL + T і використовуйте клавіші зі стрілками для навігації. Натисніть Enter, щоб перейти до реалізації.
Це Лето

54

Ви можете підвищити продуктивність, якщо додати функцію "Відкрита реалізація" додавати прив'язку клавіш Alt+ F3та просто використовувати F3для переходу до інтерфейсів та Alt+ F3для переходу до реалізації.

Відкрити прив'язку клавіш реалізації


2
Чудова порада! Дякую. Сумно, що затемнення шукає лише одного рівня ієрархії.
Snicolas

Це рішення спрацювало на мене. Багато інших (особливо плагіни) цього не зробили.
Nelda.techspiress

У Eclipse Neon Alt + F3 використовується для Incremental Find, я вибрав Alt + I замість цього
user7294900

12

Виділіть інтерфейс та скористайтесь Ctrlклавішею +, Tщоб відкрити "Ієрархію швидкого типу".


12
ctrl + mouse hover + click "Open Implementation"

Увімкнено ctrl + hover, ви повинні побачити таке меню:

введіть тут опис зображення

Випробувано на Марсі затемнення.2 (4.5.2)


3

Ось що я роблю:

Я натискаю команду (на Mac, можливо, управління на ПК), а потім наведіть курсор на метод або клас. Після цього з'явиться спливаюче вікно з варіантами "Відкрити декларацію", "Відкрити реалізацію", "Тип відкритого повернення". Потім ви можете натиснути на те, що ви хочете, і Eclipse принесе вас туди. Я вважаю, що це працює для версії 3.6 і вище.

Це так само швидко, як я думаю, IntelliJ.


2

Спасибі це теж було корисно. На цьому посиланні ви також можете натиснути метод, утримуючи "cntrl", а потім вибрати "Відкрити реалізацію". Це ще швидше.
aeq


0

Якщо ви дійсно хочете прискорити навігацію коду, вам варто поглянути на nWire для Java . Це плагін дослідження коду для Eclipse. Ви можете миттєво побачити всі супутні артефакти. Тож у такому випадку ви зосередитесь на виклику методу та миттєво побачите всі можливі реалізації, декларації, виклики тощо.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.