Прыжок в реализации интерфейса в интегрированной среде разработки Eclipse


вы знаете, как в Eclipse, нажав F3 над методом приведет вас к его объявлению? Ну у меня есть метод, который является частью интерфейса; нажмите кнопку F3 над этим, естественно, приводит меня к объявлению интерфейса.

очевидно, что есть объект, реализующий этот интерфейс, и именно здесь фактически реализован метод. Я хочу, когда нажимаю F3, чтобы перейти к реализации, а не к объявлению интерфейса. Я знаю, что реализация может быть неизвестна во время компиляции, поэтому есть ли способ для Eclipse показать мне все классы, реализующие интерфейс, чтобы я мог выбрать, какой реализованный метод для просмотра? Прямо сейчас, когда это происходит, я просто вручную ищу это, чтобы найти реализованный метод.

11 134

11 ответов:

вот что я делаю:

  • в интерфейсе наведите курсор на имя метода. Нажмите F4. = > Появится представление иерархии типов
  • В нижней части представления, метод должен быть установлен. На панели инструментов нажмите кнопку "Заблокировать представление и показать элементы в иерархии" (должен быть самый левый значок панели инструментов).
  • в верхней части представления можно просмотреть все реализации метода.

порядок не очень быстро, но это дает вам хороший обзор.

хорошо... что ж... Я надеюсь, что вы используете Eclipse Helios, потому что то, что вы спросили, доступно на Helios.

снова поместите текстовый курсор на метод и нажмите меню навигация → открыть реализацию. Теперь, если у вас есть более одной реализации метода, вы получите выбор, чтобы выбрать, какую реализацию открыть.

alt text

определив привязку клавиш на Preferences → General → Keys, вы можете даже использовать эту функцию проще, но прежде чем вы это сделаете, посмотрите, если этот ярлык достаточно быстро для вас.

нажмите Ctrl + нажмите и удерживайте. Теперь наведите курсор мыши на тот же метод. Тадам ... у тебя будет выбор.

alt text

Если вы выберете открытую реализацию, вы получите тот же выбор, что и раньше.

пресс Ctrl + T на имя метода (а не F3). Это дает иерархию типов в виде всплывающего окна, поэтому немного быстрее, чем с помощью F4 и представление иерархии типов.

кроме того, при выполнении метода подтипы, которые не реализуют/переопределяют метод, будут выделены серым цветом, и когда вы дважды щелкните класс в списке, он приведет вас прямо к методу в этом классе.

есть большой прирост производительности если добавить Alt + F3 привязка ключа к открытой функции реализации, и просто использовать F3 перейти к интерфейсам, и Alt + F3 перейти к реализациям.

Open implementation keybinding

ctrl + mouse hover + click "Open Implementation"

On ctrl + hover, вы должны увидеть следующее меню:

enter image description here

проверено на затмение на Марсе.2 (4.5.2)

выделите интерфейс и используйте Ctrl+T чтобы открыть "быстрый тип иерархии".

вот что я делаю:

Я нажимаю command (на Mac, возможно, control на ПК), а затем наведите указатель мыши на метод или класс. При этом появится всплывающее окно с вариантами "открыть объявление", "открыть реализацию", "открыть тип возврата". Затем вы можете нажать на то, что вы хотите, и затмение приносит вам прямо там. Я верю, что это работает для версии 3.6 и выше.

Это так же быстро, как IntelliJ я думаю.

Я всегда использую этот плагин реализации, чтобы найти все реализации интерфейса

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

Это мой любимый и самый лучший

Если вы действительно хотите ускорить навигацию по коду, вы можете взглянуть на nWire для Java. Это исследования код плагина для Eclipse. Вы можете мгновенно увидеть все связанные артефакты. Таким образом, в этом случае вы сосредоточитесь на вызове метода и мгновенно увидите все возможные реализации, объявления, вызовы и т. д.

лучшим решением было бы Ctrl+ Alt+Я.