Ctrl-click идет к объявлению метода, по которому я щелкнул. Для интерфейсов с одной реализацией, как я могу просто перейти непосредственно к этой реализации? - PullRequest
37 голосов
/ 21 января 2010

Мне часто приходится отлаживать код Java, который был написан так, чтобы был интерфейс и ровно одна реализация этого интерфейса.

Например, будет интерфейс Foo с ровно одной реализацией под названием FooImpl. В следующем коде, если я нажму ctrl на doThings, он перейдет к Foo.java, когда я на самом деле хочу перейти к FooImpl.java, чтобы увидеть реализацию.

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

Когда я оказываюсь в интерфейсе, я должен использовать ctrl-shift-r, чтобы открыть FooImpl. Было бы здорово, если бы я мог что-то сделать, щелкнув по ctrl-alt-click на doThings, и оказался бы внутри FooImpl.java. Если в рабочей области есть несколько реализаций, возможно, просто всплывет окно, сообщающее мне, что они собой представляют.

Есть ли в eclipse плагин или существующая функция, которая делает это? Я знаю, что мог бы перейти к Foo.java, а затем получить иерархию и перейти к реализации, но при наличии ровно одной реализации интерфейса требуется больше кликов, чем необходимо.

Ответы [ 5 ]

58 голосов
/ 21 января 2010
  1. Переместить курсор на вызов метода
  2. Нажмите Ctrl + T
  3. Выберите желаемую реализацию
  4. Хит Ввод

Это также работает, если есть несколько разработчиков.

24 голосов
/ 25 февраля 2014

Перейти к Окно > Предпочтения > Общие > Редакторы > Текстовые редакторы > Гиперссылки и снимите флажок Открытое объявление . Preferences screenshot

С этого момента, когда вы удерживаете Ctrl при наведении курсора на имя метода, будет отображаться следующее всплывающее окно. Просто нажмите на имя метода, и реализация будет открыта (или поле Types, реализующее XXX , если существует более одной реализации).

Popup box

Вы по-прежнему сможете использовать функцию Открытое объявление , нажав F3 .

19 голосов
/ 21 января 2010

В Eclipse 3.5, когда вы наводите курсор на doThings, удерживая нажатой клавишу управления, во всплывающем окне вы можете выбрать две опции:

  • Открытая декларация
  • Открытая реализация

Снимок экрана представлен во втором разделе Eclipse 3.5 Новая и заслуживающая внимания страница для JDT :

alt text

15 голосов
/ 21 января 2010

Плагин Implementors делает в точности то, что вы просите. Если есть только одна реализация, она откроет ее напрямую, иначе она позволит вам выбрать.

0 голосов
/ 20 ноября 2018

В Eclipse IDE для разработчиков на C / C ++ Версия: Oxygen.3a Release (4.7.3a) я увидел Ctrl + Tab (Переключение источника / заголовка), который работал для меня хотя не напрямую, но это обходной путь).

Toggle Source/Header

...