Ctrl-click переходит к объявлению метода, который я нажал. Для интерфейсов с одной реализацией, как я могу просто перейти непосредственно к этой реализации?

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

Например, был бы интерфейс Foo с ровно одной реализацией под названием FooImpl. В следующем коде, если я ctrl-click на 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, а затем получить иерархию и перейти к реализации, но это больше кликов, чем необходимо, когда есть только одна реализация интерфейса.

Ответ 1

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

Ответ 2

  • Переместите курсор на вызов метода
  • Нажмите Ctrl + T
  • Выберите желаемую реализацию
  • Хит Enter

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

Ответ 3

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

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

Popup box

Вы все равно сможете использовать функцию Open Declaration, нажав F3.

Ответ 4

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

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

Там есть скриншот как второй раздел Eclipse 3.5 New & Noteworthy page for JDT:

alt text

Ответ 5

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

Toggle Source/Header