Записки программиста
Краткая шпаргалка по сочетаниям клавиш в IntelliJ IDEA
Как ранее уже сообщалось, я начал активно изучать возможности 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 + влево/вправо, осуществляющего переход между словами, а также другие, можно очень удобно редактировать сразу несколько строк кода.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.
Как закомментировать несколько строк одновременно в AndroidStudio?
Можно ли в AndroidStudio закомментировать сразу несколько строк (если да то как), или надо вручную пройтись по каждой строке, ставя в начале // ?
Отслеживать
SurfaceStack
задан 23 фев 2021 в 13:56
SurfaceStack SurfaceStack
865 6 6 серебряных знаков 23 23 бронзовых знака
В коде /* */ или в разметке
23 фев 2021 в 14:02
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Можно выделить строки, которые Вы хотите закомментировать, и при активной английской раскладке использовать сочетание клавиш Ctrl+кнопка с ?,/. (последняя клавиша в нижнем буквенном ряду) возле правого Shift:

Если выделить закомментированные строки и проделать то же самое, то они раскомментируются.
Отслеживать
ответ дан 23 фев 2021 в 14:10
2,291 1 1 золотой знак 8 8 серебряных знаков 22 22 бронзовых знака
P.S. Этот способ будет работать правильно только если включена английская раскладка клавиатуры.
23 фев 2021 в 14:34
несколько строк кода
*/ Таки образом можно закоментировать несколько строк.
Отслеживать
ответ дан 23 фев 2021 в 14:03
587 3 3 серебряных знака 19 19 бронзовых знаков
Я знаю, что так можно сделать, интересно можно ли выделить эти несколько строк и нажать что-нибудь, чтобы преобразовать их в комментарий.
Полезные комбинации в IntelliJ IDEA

Всем нам хорошо известна среда разработки IntelliJ IDEA. В этой заметке я собрал список наиболее полезных клавиш в IDEA, которыми пользуюсь практически каждый день, и без которых работа выполнялась бы намного медленнее. При этом я постарался отсортировать каждый раздел от наиболее часто используемых к наименее.
Keymap: mac — Mac OS X 10.5+ win/linux — Default
⌘ — Command ⌃ — Control ⌥ — Option (Alt) ⇧ — Shift
0. Универсальная комбинация от всех проблем
| Mac OS | Win/Linux | Описание | Примечание |
|---|---|---|---|
| ⌥ + Enterl | Alt + Enter | показать быстрые действия, исправить код |
1. Навигация по коду
| Mac OS | Win/Linux | Описание | Примечание |
|---|---|---|---|
| ⌘ + O | Ctrl + N | открыть класс | |
| ⌘ + ⇧ + O | Ctrl + Shift + N | открыть файл | |
| ⌘ + ⌥ + Left/Right | Ctrl + Alt + Left/Right | назад/вперед по истории навигации | |
| ⌘ + B | Ctrl + B | перейти к декларации (переменной/метода), показать использование переменной/метода | |
| ⌘ + ⌥ + B | Ctrl + Alt + B | перейти к имплементации метода | |
| ⌘ + E | Ctrl + E | последние открытые файлы | |
| ⌘ + ⇧ + E | Ctrl + Shift + E | последние редактированные файлы | |
| ⌘ + F12 | Ctrl + F12 | список методов текущего класса | начать набирать имя метода для фильтрации |
2. Рефакторинг/редактирование/генерация кода
| Mac OS | Win/Linux | Описание | Примечание |
|---|---|---|---|
| ⌃ + ⌥ + O | Ctrl + Alt + O | оптимизировать раздел import | |
| ⌘ + ⌥ + L | Ctrl + Alt + L | автоматически отформатировать код | |
| ⌘ + N | Alt + Insert | сгенерировать код (конструктор, геттер, сеттер, equals, hashCode) | |
| ⇧ + F6 | Shift + F6 | переименовать (класс, метод, поле, переменную), включая все использования и референсы | |
| ⌘ + ⌥ + V | Ctrl + Alt + V | вынести выражение в переменную | |
| ⌃ + O | Ctrl + O | переопределить метод | |
| ⌃ + I | Ctrl + I | имплементировать метод | |
| ⌃ + G | Alt + J | выделить следующее появление текста (next occurence) | удобно подменять одну переменную другой при рефакторинге |
| ⌘ + | Ctrl + / | закомментировать однострочным комментарием | |
| ⌘ + ⇧ + / | Ctrl + Shift + / | закомментировать многострочным комментарием | |
| ⌘ + ⇧ + 8 | Shift + Alt + Insert | переключить режим редактирования (обычный/колонка) | удобно редактировать большие куски выровненного кода, файлов .properties |
| ⌥ + ⌥(зажать) + Up/Down | Ctrl + Ctrl(зажать) + Up/Down | выделить следующую/предыдущую строку в режиме колонки | нажать и отпустить и тут же зажать Option (mac) или Ctrl (win/linux). Удобнее чем, переключаться в режим редактирования колонкой для небольших кусков кода |
3. Прочее
| Mac OS | Win/Linux | Описание | Примечание |
|---|---|---|---|
| ⌃ + R/D | Shift + F10/F9 | запуск/дебаг текущей выбранной конфигурации | |
| ⌃ + ⇧ + R/D | Ctrl + Shift + F10/F9 | запуск/дебаг конфигурации из контекста | |
| ⌃ + ⌥ + R/D | Alt + Shift + F10/F9 | выбор конфигурации и запуск/дебаг | |
| ⌘ + ⇧ + F8 | Ctrl + Shift + F8 | открыть окно брейкпоинтов | |
| ⇧ + ⇧ | Shift + Shift | поиск везде | |
| ⌘ + ⇧ + A | Alt + ` | поиск действий | |
| ⌃ + V | Content Cell | быстрое меню системы контроля версий | |
| ⌘ + K | Ctrl + K | сделать коммит |
Комбинаций клавиш в IDEA очень много, все упомянуть/запомнить почти невозможно. В данном посте я описал только те комбинации, которые помню и которыми пользуюсь сам и без которых не могу представить работу в IDEA. В комментариях пишите самые полезные, на ваш взгляд, комбинации.
Комментарии в java

Всем привет! Эта краткая статья будет полезна для новичков которые только столкнулись с комментариями в java.

Комментарии — используются для выделения текста или частей кода в коде чтобы компилятор их не видел. Пример c выделением строки:
System.out.println("Java"); //вот этот текст компилятор не видит
Результат будет:
Java
Пример c выделением нескольких строк:
/* Пример простой программы на Java */ public class Class
В этом случаи результат будет таким же. Сделаем вывод: // — закомментируется строка /* */ — за комментируется несколько строк Спасибо за внимание!