Skip to content

Instantly share code, notes, and snippets.

@demiurg906
Last active March 4, 2020 16:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save demiurg906/430e6eddcbb344a490f39cb1bc8278b0 to your computer and use it in GitHub Desktop.
Save demiurg906/430e6eddcbb344a490f39cb1bc8278b0 to your computer and use it in GitHub Desktop.
Intellij IDEA Shortcuts

Самый главный action

  • ctrl-shift-A -- найти любой другой Action

Windows navigation

  • alt-1 -- дерево проекта
  • alt-3 -- Find window
  • alt-4 -- Run
  • alt-5 -- Debug
  • alt-7 -- Структура файла
  • alt-9 -- VCS (git/svn/etc)
  • ctrl-alt-S -- открыть настройки
  • ctrl-alt-shift-S -- открыть настройки проекта

Навигация

  • ctrl-N -- найти класс
  • ctrl-shift-N -- найти файл
  • ctrl-alt-shift-N -- найти символ (класс/функцию/поле)

Редактор

Навигация

  • Esc -- перейти из любого окна к редактору
  • ctrl-B -- перейти к
    • декларации (при использовании на call site)
    • местам использования (при использовании на declaration site)
  • ctrl-alt-B на декларации -- перейти к имплементациям этой декларации
  • ctrl-shift-B на выражении -- перейти к декларации типа этого выражения
  • alt-F7 -- найти использования
  • alt-F1 -- открыть текущий файл в определённом tool window
  • ctrl-F12 -- открыть список всех методов в классе
    • повторное нажатие добавляет в список все методы из предков
  • ctrl-H на классе -- открыть дерево наследования
  • ctrl-Tab -- навигация среди открытых вкладок редактора
  • ctrl-E -- навигация среди недавно посещённых файлов
  • alt-Left/Right -- перемещение по вкладкам
  • ctrl-alt-Left/Right -- перемещение по посещённым участкам кода

Редактирование

  • Tab -- добавить отступ
  • shift-Tab -- убрать отступ (работает для нескольких строк)
  • ctrl-/ -- закомментировать/раскомментировать выделенные строки с помощью //
  • ctrl-shift-/ -- закомментировать/раскомментировать выделенный код с помощью /* */
  • ctrl - -- свернуть блок кода
  • ctrl-+ -- развернуть блок кода
  • ctrl-alt-O -- оптимизировать импорты
  • ctrl-alt-L -- реформатировать код
    • оба этих действия можно использовать сразу на несколько файлов (например, на все изменнённые в VCS)
  • ctrl-W -- выделить блок (при повторном использовании выделяет объемлющий блок)
  • ctrl-shift-W -- снять выделение с блока
  • ctrl-X/C без выделения -- вырезать/скопировать текущую строку
  • ctrl-D -- дублировать выделенное/текущую строку
  • ctrl-shift-V -- вставить из буфера обмена
  • ctrl-F/R -- найти/заменить
    • F3 -- перейти к следующему найденному элементу
    • shift-F3 -- перейти к предыдущему найденному элементу
  • F2 -- перейти к ошибке/warning'у (если нет ошибки)
  • ctrl-Space -- показать Completion
  • alt-Enter -- показать список Intention'ов

Генерация кода

  • alt-Insert -- сгенерировать что-нибудь
    • конструктор
    • геттеры/сеттеры
    • equals/hashcode
    • toString
    • override методы (также ctrl-O)
    • имплементации абстрактных методов (также ctrl-I)
  • ctrl-alt-T -- обернуть выделенное во что-нибудь (например, в скобки)

Live templates

Используются для генерации кода непосредственно при написании кода. Вызываются при выборе нужного template'а в completion pop-up. Полезные темплейты:

  • psvm -- public static void main(String[] args) {}
  • psf -- public static final
  • sout -- System.out.println();
  • serr -- System.err.println();
  • thr -- throw new
  • .par -- обернуть в скобки
    • 1 + 1.par -> (1 + 1)
  • .for -- объявить цикл
  • .fori -- объявить цикл с индексами
  • .forr -- объявить цикл индесами в обратном порядке
List<String> list = ...;
// list.for
for (String e : list) {
    <cursor>
}
// list.fori
for (int i = 0; i < list.size(); i++) {
    <cursor>
}
// list.forr
for (int i = list.size() - 1; i >= 0; i--) {
    <cursor>
}

Рефакторинги

  • ctrl-alt-V -- вынести выделенное выражение в переменную
  • ctrl-alt-C -- вынести выделенное выражение в константу
  • ctrl-alt-M -- вынести выделенный код в отдельный метод

Закладки

  • ctrl-shift-№ (№ = 0..9) -- создать закладку с номером
  • ctrl-№ (№ = 0..9) -- перейти к закладке с номером
  • ctrl-F11 -- создать закладку
  • F11 -- перейти к закладке

Project tree

  • F5 -- скопировать файл
  • F6 -- перенести файл
  • ctrl-shift-F/R -- найти/заменить текст во всех файлах проекта
  • ctrl-D -- сравнить два выделенных файла
  • by default шортката нет, но я крайне рекомендую настроить -- создать новый файл/директорию в выбранном месте

VCS

  • ctrl-D -- смотреть изменения
    • ctrl-F7 -- перейти к следующему изменению
    • ctrl-shift-F7 -- перейти к предыдущему изменению
  • ctrl-K -- commit
  • ctrl-shift-K -- push
  • ctrl-T -- pull
  • Окно изменений
    • alt-shift-M -- перенести файлы в другой Changelist
    • alt-Space -- сделать выделенный Changelist активным
    • ctrl-alt-P -- сгрупировать изменённые файлы по директории
  • Окно истории
    • ctrl-F -- поиск коммита с указанным хешом

Run конфигурации

  • ctrl-shift-F10 -- запустить main функцию/тест в текущем файле
  • shift-F10 -- запустить последнюю запущенную run конфигурацию
  • alt-shift-F10 -- запустить одну из доступных run конфигураций
  • всё то же самое, но с F9 -- запустить в режиме дебага
  • ctrl-ctrl -- запустить что-нибудь из последнего

Debuger

  • ctrl-F8 -- поставить breakpoint на текущей строчке
  • F9 -- выполнить до следующего breakpoint'а
  • alt-F9 -- выполнить до курсора
  • F8 -- выполнить до следующей строчки
  • F7 -- зайти внутрь вызова функции
  • shift-F7 -- выбрать вызов функции, в который надо зайти
  • shift-F8 -- выйти из текущей функции
  • alt-F8 -- выполнить произвольное выражение
  • Insert -- добавить в список watches новое выражение
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment