Краткая шпаргалка по сочетаниям клавиш в IntelliJ IDEA
30 мая 2014
Как ранее уже сообщалось, я начал активно изучать возможности IntelliJ IDEA. В частности, я стараюсь запомнить наиболее востребованные хоткеи, чтобы выполнять большую часть работы, не отрывая руки от клавиатуры, как это происходит при программировании в Vim. По моим наблюдениям, это реально экономит кучу времени. Я сделал для себя шпаргалку по хоткеям IDEA, которую вы найдете под катом. Полагаю, она также пригодится кому-то из посетителей данного блога.
Примечание: Те же сочетания клавиш работают и в других продуктах JetBrains, например, PyCharm и CLion.
Ниже не приводятся общеизвестные и очевидные сочетания вроде Ctr+C, Ctr+V или Ctr + S. В IntelliJ IDEA многие хоткеи имеют парный хоткей отличающийся только тем, что в нем дополнительно участвует клавиша Shift. Обычно она добавляет в том или ином виде выделение текста. Например, Ctr + End переводит курсор в конец файла, а Ctr + Shift + End выделяет код от текущей позиции до конца файла. Догадаться о существовании парных хоткеев несложно, поэтому далее они не приводятся. Наконец, если в любом диалоге IntelliJ IDEA вы видите подчернутые буквы, знайте, что сочетание Alt + буква равносильно использованию соответствующего контрола (обычно кнопок). Например, быстро запушить код в репозиторий можно путем нажатия Ctr + K, Alt + I, Alt + P, а затем снова Alt + P.
Итак, основные сочетания следующие.
Редактирование:
| Ctr + Z | Undo, отменить последнее действие |
| Ctr + Shift + Z | Redo, отменить последнюю отмену действия |
| Ctr + Shift + V | Расширенная вставка из буфера обмена (с историей) |
| Ctr (+ Shift) + W | Инкрементальное выделение выражения |
| Ctr + влево/вправо | Перемещение между словами |
| Ctr + вверх/вниз | Прокрутка кода без изменения позиции курсора |
| Ctr + Home/End | Переход в начало/конец файла |
| Shift + Del (Ctr + Y) | Удаление строки, отличие в том, где потом окажется курсор |
| Ctr + Del | Удалить от текущей позиции до конца слова |
| Ctr + Backspace | Удалить от текущей позиции до начала слова |
| Ctr + D | Дублировать текущую строку |
| Tab / Shift + Tab | Увеличить / уменьшить текущий отступ |
| Ctr + Alt + I | Выравнивание отступов в коде |
| Ctr + Alt + L | Приведение кода в соответствие code style |
| Ctr + / | Закомментировать/раскомментировать текущую строку |
| Ctr + Shift + / | Закомментировать/раскомментировать выделенный код |
| Ctr + -/+ | Фолдинг, свернуть/развернуть |
| Ctr + Shift + -/+ | Фолдинг, свернуть/развернуть все |
| Ctr + Shift + . | Сделать текущий скоуп сворачиваемым и свернуть его |
| Ctr + . | Сделать текущий скоуп несворачиваемым |
| Ctr + R | Замена в тексте |
| Ctr + Shift + R | Замена во всех файлах |
Окна, вкладки:
| Alt + влево/вправо | Перемещение между вкладками |
| Ctr + F4 | Закрыть вкладку |
| Alt + циферка | Открытие/закрытие окон Project, Structure, Changes и тд |
| Ctr + Tab | Switcher, переключение между вкладками и окнами |
| Shift + Esc | Закрыть активное окно |
| F12 | Открыть последнее закрытое окно |
| Ctr + колесико | Zoom, если он был вами настроен |
Закладки:
| F11 | Поставить или снять закладку |
| Ctr + F11 | Аналогично с присвоением буквы или цифры |
| Shift + F11 | Переход к закладке (удаление — клавишей Delete) |
| Ctr + Число | Быстрый переход к закладке с присвоенным числом |
Подсказки и документация:
| Ctr + Q | Документация к тому, на чем сейчас курсор |
| Ctr + Shift + I | Показать реализацию метода или класса |
| Alt + Q | Отобразить имя класса или метода, в котором мы находимся |
| Ctr + P | Подсказка по аргументам метода |
| Ctr + F1 | Показать описание ошибки или варнинга |
| Alt + Enter | Показать, что нам предлагают «лампочки» |
Поиск:
| Дважды Shift | Быстрый поиск по всему проекту |
| Ctr + Shift + A | Быстрый поиск по настройкам, действиям и тд |
| Alt + вниз/вверх | Перейти к следующему/предыдущему методу |
| Ctr + [ и Ctr + ] | Перемещение к началу и концу текущего скоупа |
| Ctr + F | Поиск в файле |
| Ctr + Shift + F | Поиск по всем файлам (переход — F4) |
| Ctr + F3 | Искать слово под курсором |
| F3 / Shift + F3 | Искать вперед/назад |
| Ctr + G | Переход к строке или строке:номеру_символа |
| Ctr + F12 | Список методов с переходом к их объявлению |
| Ctr + E | Список недавно открытых файлов с переходом к ним |
| Ctr + Shift + E | Список недавно измененных файлов с переходом к ним |
| Ctr + H | Иерархия наследования текущего класса и переход по ней |
| Ctr + Alt + H | Иерархия вызовов выбранного метода |
| Ctr + N | Поиска класса по имени и переход к нему |
| Ctr + Shift + N | Поиск файла по имени и переход к нему |
| Ctr + B | Перейти к объявлению переменной, класса, метода |
| Ctr + Alt + B | Перейти к реализации |
| Ctr + Shift + B | Определить тип и перейти к его реализации |
| Shift + Alt + влево | Перемещение назад по стеку поиска |
| Shift + Alt + вправо | Перемещение вперед по стеку поиска |
| F2 / Shift + F2 | Переход к следующей / предыдущей ошибке |
| Shift + Alt + 7 | Найти все места, где используется метод / переменная |
| Ctr + Alt + 7 | Как предыдущий пункт, только во всплывающем окне |
Генерация кода и рефакторинг:
| Ctr + Space | Полный автокомплит |
| Ctr + Shift + Space | Автокомплит с фильтрацией по подходящему типу |
| Alt + / | Простой автокомплит по словам, встречающимся в проекте |
| Ctr + I | Реализовать интерфейс |
| Ctr + O | Переопределить метод родительского класса |
| Ctr + J | Генерация шаблонного кода (обход по итератору и тд) |
| Ctr + Alt + J | Обернуть выделенный код в один из шаблонов |
| Alt + Insert | Генератор кода — сеттеров, зависимостей в pom.xml и тд |
| Shift + F6 | Переименование переменной, класса и тд во всем коде |
| Ctr + F6 | Изменение сигнатуры метода во всем коде |
| F6 | Перемещение метода, класса или пакета |
| F5 | Создать копию класса, файла или каталога |
| Shift + F5 | Создать копию класса в том же пакете |
| Alt + Delete | Безопасное удаление класса, метода или атрибута |
| Ctr + Alt + M | Выделение метода |
| Ctr + Alt + V | Выделение переменной |
| Ctr + Alt + F | Выделение атрибута |
| Ctr + Alt + C | Выделение константы (public final static) |
| Ctr + Alt + P | Выделение аргумента метода |
| Ctr + Alt + N | Инлайнинг метода, переменной, аргумента или константы |
| Ctr + Alt + O | Оптимизация импортов |
Прочее:
| Ctr + ~ | Быстрое переключение цветовой схемы, code style и тд |
| Alt + F12 | Открыть/закрыть терминал |
| F10 | Запустить последнюю запущенную программу или тест |
| Shift + F10 | Запустить открытую в редакторе программу или тест |
| Shift + Alt + F10 | Запустить что-то из списка того что запускалось раньше |
| Ctr + F2 | Остановить программу |
| Ctr + Alt + A | Добавить в систему контроля версий |
| Ctr + K | Сделать коммит в систему контроля версий |
| Ctr + Shift + K | Сделать пуш в систему контроля версий |
| Ctr + Shift + P | В Scala-плагине определяет implicit параметры |
| Ctr + Shift + Q | В Scala-плагине определяет implicit преобразования |
Понятное дело, в этой шпаргалке названы далеко не все возможности IntelliJ IDEA. Всем заинтересованным лицам я настоятельно рекомендую вот прямо брать и читать ее замечательную документацию, там очень много интересного. Жаль только, что документация не доступна в виде одного большого PDF файла.
Дополнение: В последних версиях IDEA можно использовать несколько курсоров, разместив их либо при помощи комбинации Alt+Shift+ЛКМ, либо вертикальным выделением при помощи клика средней клавишей мыши. Держа на вооружении сочетание Ctr + влево/вправо, осуществляющего переход между словами, а также другие, можно очень удобно редактировать сразу несколько строк кода.
Дополнение: В продолжение темы вас могут заинтересовать посты Впечатления от IntelliJ IDEA после года работы с ней и Впечатления от текстового редактора Zed.
Метки: Разработка.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.