- PVSM.RU - https://www.pvsm.ru -

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2

Перевод статьи подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс» [1]. И хотя в данном материале речь пойдет преимущественно о Java, материал будет полезен Android-разработчикам

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 1


Первая часть тут [2]

Переход к связанному модульному тесту

С каким еще общим шаблоном навигации мы сталкиваемся при написании кода (особенно, когда мы хотим убедиться, что код работает должным образом)? Мы перемещаемся между классами и соответствующими юнит-тестами. IntelliJ IDEA может распознавать тесты, относящиеся к определенному классу, и предлагает команду под названием Go to a test (Перейти к тесту), назначенную на Ctrl + Shift + T (Cmd + Shift + T для OS X), которая позволяет вам переходить из любого класса к его тестам и наоборот:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 2

Если у класса еще нет тестов, команда поможет вам создать их.

Перемещение вверх по иерархии

Другой распространенный случай — когда вам нужно перейти вверх по иерархии классов для текущего метода (или для всего класса). В большинстве IDE вы можете увидеть специальный значок рядом с определениями методов. Нажав на такой значок, вы можете перейти к соответствующему определению метода в суперклассе (или интерфейсе). В дополнение к этому IntelliJ IDEA имеет специальную команду, которая называется Super Method (Супер метод), доступная через Ctrl + U (Cmd + U для OS X). Эта команда позволяет вам перемещаться одним движением, так что вам даже не придется касаться мышки.

Перемещение вниз по иерархии

Если вы можете перейти вверх по иерархии ваших классов, почему тогда нельзя перейти вниз? Только несколько IDE предоставляют такую возможность, и IntelliJ IDEA является одной из них. В дополнение к иконкам, которые ведут вас в суперкласс, IntelliJ IDEA предоставляет иконки для перехода к соответствующему определению метода в производном классе, поэтому вы можете перемещаться в обоих направлениях: вверх и вниз.

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 3

Если вы хотите перемещаться по иерархии еще быстрее, можете использовать команду Implementations (Реализации), назначенную на Ctrl + Alt + B (Cmd + Alt + B для OS X). Эта команда позволяет вам выбрать из всего списка производных классов одну из реализаций, к которой вы хотите перейти:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 4

Иерархия методов

А что если вам нужно увидеть всю иерархию классов, которые реализуют или переопределяют текущий метод? В IntelliJ IDEA вы можете сделать это, вызвав команду Method Hierarchy (Иерархия методов), доступную через Ctrl + Shift + H (Cmd + Shift + H для OS X). Эта команда может помочь вам выяснить, к какому классу вы хотите перейти.

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 5

Всплывающая диаграмма

Мы только что узнали, как перемещаться по иерархии определений ваших методов. Иногда нам также может понадобиться перемещаться по иерархии текущего класса (или класса, на котором находится курсор, независимо от каких-либо методов). Для этого в большинстве IDE вы можете использовать команду, которая показывает иерархию данного класса (или интерфейса). В IntelliJ IDEA такая команда называется Type Hierarchy (Иерархия типов) и ее можно вызвать, нажав Ctrl + H.

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 6

Как видите, результатом этой команды является дерево. Для некоторых людей такой формат может быть сложен для восприятия. Поэтому IntelliJ IDEA также есть другая команда с названием Diagram popup (Всплывающая диаграмма), назначенная на Ctrl + Alt + U (Cmd + Alt + U для OS X). Вместо того, чтобы показывать скучное дерево, эта команда визуализирует иерархию данного класса на диаграмме:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 7

Не нужно говорить, что вы можете перейти к любому классу или интерфейсу на диаграмме.

Иерархия вызовов методов

Говоря о навигации по иерархиям, классам и определениям методов, мы рассмотрели практически все, кроме одного: навигации по иерархии вызовов методов. Каждый метод вызывает другие методы, которые вызывают другие методы и т. д. Поэтому иногда вам может потребоваться перейти к одному из методов, которые вызываются из текущего или вызывают текущий метод. В IntelliJ IDEA вы можете быстро получить всплывающее окно с иерархией вызовов методов с помощью команды Call Hierarchy (иерархия вызовов), назначенного на Ctrl + Alt + H:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 8

Показать использование символа

Еще один распространенный шаблон — это переход в одно из мест, где используется символ (константа, поле, переменная, метод, класс или интерфейс), на котором стоит курсор. Для этого в любых IDE вы можете использовать команду Find usages (Найти использования символа). Одним из недостатков этой команды, как правило, является ее большой вес: он запускает длительный процесс поиска и открывает окно инструментов с результатами. Поэтому IntelliJ IDEA также предлагает облегченную версию этой команды под названием Show usages (Показать использование символа), доступную через Alt + Ctrl + F7 (Cmd + Alt + F7 для OS X):

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 9

Эта команда отображает результаты во всплывающем окне и по умолчанию использует область видимости уровня проекта. Когда вы вызываете эту команду во второй раз, она меняет область видимости на уровень проекта и библиотеки.

Последние отредактированные файлы

Первый шаблон в этой статье был о навигации по последним файлам. Что если мы хотим сузить этот список до файлов, которые были недавно отредактированы? Это легко сделать в IntelliJ IDEA с командой Recently Edited Files (Последние отредактированные файлы), назначенной на Ctrl + Shift + E (Cmd + Shift + E для OS X):

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 10

Навигация между представлениями и контроллерами

Как вы думаете, ваша IDE должна распознавать только общие отношения (такие как иерархия классов, тестовое покрытие, использования и т. д.) в файлах вашего проекта? Как насчет чего-то более конкретного? Для навигации, основанной на особых отношениях, IntelliJ IDEA предоставляет команду Related symbol (Связанный символ), назначенную на Ctrl + Alt + Home (Cmd + Alt + Home для OS X). С помощью этой команды, например, вы можете легко перемещаться между вашими представлениями и контроллерами в Spring MVC, Grails или даже JavaFX-приложении:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 11

Навигация к контроллеру представления

Поскольку IntellIJ IDEA также может распознавать особые отношения в вашем проекте, то какие другие конкретные шаблоны навигации в ней есть? Если вы разработчик веб-приложения, вы можете вызвать команду Go to a symbol (Перейти к символу), чтобы перейти к контроллеру представления, введя URL-адрес, на который он назначен:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 12

Шаблоны навигации по базе данных

Инструменты базы данных в IntelliJ IDEA также имеют свои специфические шаблоны навигации. Вы можете быстро перейти к таблице в окне инструментов базы данных, введя ее имя с помощью команды Go to a symbol (Перейти к символу):

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 13

Если вы вызовете команду Find usages (Найти использования символа) для таблицы или столбца, IntelliJ IDEA покажет вам все другие таблицы, которые ссылаются на них:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 14

И просто чтобы полностью поразить ваше воображение, IntelliJ IDEA может перемещать вас по использованию первичного ключа в данной таблице. Например, вы можете попросить IDE показать вам строки из других таблиц, которые ссылаются на текущую строку:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 15

Закладки

Последний, но не менее важный шаблон, на который мы обратим внимание, — это навигация по интересующим вас местам в рамках вашего проекта с помощью закладок. IntellIJ IDEA предоставляет для этого очень удобные инструменты. Чтобы добавить (или удалить) текущее место в/из ваших закладок, нажмите F11. Как только вы это сделаете, вы сразу увидите соответствующий значок слева. После этого, когда вы захотите вернуться к сохраненной закладке, нажмите Shift + F11 и выберите ее из списка:

Топ 20 навигационных фич в IntelliJ IDEA. Часть 2 - 16

Выводы

Я надеюсь, что эта статья дала вам некоторое представление о том, как IntelliJ IDEA помогает перемещаться по проекту, не отвлекаясь от кода. Навигация определяет насколько быстро вы переключаетесь между фрагментами кода, над которым работаете. Чем быстрее вы переключаетесь, тем вы продуктивнее.

И помните: чем лучше вы знаете свою IDE, тем больше времени вы тратите на то, что вам действительно нравится.

Автор: MaxRokatansky

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/331421

Ссылки в тексте:

[1] «Android-разработчик. Продвинутый курс»: https://otus.pw/8Cht/

[2] Первая часть тут: https://habr.com/ru/company/otus/blog/467903/

[3] Источник: https://habr.com/ru/post/469219/?utm_campaign=469219&utm_source=habrahabr&utm_medium=rss