Ответ 1
Плагин Implementors делает практически то, о чем вы просите. Если есть только одна реализация, она откроет ее напрямую, иначе она позволит вам выбрать.
Мне часто приходится отлаживать код 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, а затем получить иерархию и перейти к реализации, но это больше кликов, чем необходимо, когда есть только одна реализация интерфейса.
Плагин Implementors делает практически то, о чем вы просите. Если есть только одна реализация, она откроет ее напрямую, иначе она позволит вам выбрать.
Это также работает, если существует несколько разработчиков.
Перейдите в окно > Настройки > Общие > Редакторы > Текстовые редакторы > Гиперссылка и снимите флажок Открыть декларацию.
Теперь, когда вы удерживаете Ctrl при наведении указателя мыши на имя метода, отобразится следующее всплывающее окно. Просто нажмите на имя метода, и реализация будет открыта (или в окне "Типы, реализующие XXX", если существует несколько версий).
Вы все равно сможете использовать функцию Open Declaration, нажав F3.
В Eclipse 3.5, когда вы doThings
курсор мыши на doThings
, удерживая нажатой клавишу управления, во всплывающем окне вы можете выбрать две опции:
Там есть скриншот как второй раздел Eclipse 3.5 New & Noteworthy page for JDT:
В Eclipse IDE для разработчиков на C/C++: выпуск Oxygen.3a (4.7.3a) я видел Ctrl + Tab (Toggle Source/Header), который работал для меня (хотя и не напрямую, а как обходной путь).