intellij idea как закомментировать выделенный код
Intellij idea как закомментировать выделенный код
Окна, вкладки:
Закладки:
Подсказки и документация:
Поиск:
Генерация кода и рефакторинг:
Прочее:
Intellij Idea. Настройка
Если возникает ошибка:
import static oracle.jdbc.OracleTypes.VARCHAR;
Reload All Maven Projects
Перезагрузить все проекты Maven
Если вы работаете в IntelliJ, есть четыре независимых способа обновления репозиториев maven. Каждый из них обновляет другой локальный репозиторий на вашем компьютере или обновляет их по-разному.
Что интересно, часто говорят, что последнее обновление совпадает с круглыми стрелками в окне Maven. Но, по моему опыту, они совершенно разные! Доказательство: нашему большому проекту не удалось выполнить последнее обновление, но он существует и успешно работает без него. И двойные круглые стрелки работают нормально.
Каждый из этих четырех может помочь вам с вашими проблемами и / или найти собственные проблемы. Например, для запуска нашего реального проекта нужен только первый, но для тестирования в IntelliJ нам также нужны 2 и 3. Конечно, кому-то тоже нужно 4. (Почему еще он есть в IntelliJ?)
Записки программиста
Краткая шпаргалка по сочетаниям клавиш в 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.
Итак, основные сочетания следующие.
Редактирование:
Окна, вкладки:
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 | Оптимизация импортов |
Прочее:
Понятное дело, в этой шпаргалке названы далеко не все возможности IntelliJ IDEA. Всем заинтересованным лицам я настоятельно рекомендую вот прямо брать и читать ее замечательную документацию, там очень много интересного. Жаль только, что документация не доступна в виде одного большого PDF файла.
Дополнение: В последних версиях IDEA можно использовать несколько курсоров, разместив их либо при помощи комбинации Alt+Shift+ЛКМ, либо вертикальным выделением при помощи клика средней клавишей мыши. Держа на вооружении сочетание Ctr + влево/вправо, осуществляющего переход между словами, а также другие, можно очень удобно редактировать сразу несколько строк кода.
Подборка самых полезных горячих клавиш для различных IDE и редакторов кода
Хорошему программисту нужны хорошие инструменты для работы. Однако самих инструментов мало — нужно ещё владеть ими на должном уровне. Комбинация клавиш Ctrl+C Ctrl+V — незаменимый спутник каждого разработчика, однако в средах разработки есть гораздо больше полезных горячих клавиш, существенно повышающих продуктивность. Мы собрали для вас подборку полезных горячих клавиш для некоторых популярных IDE, чтобы вы могли похвастаться перед коллегами своими мега-скиллами разработки.
IntelliJ IDEA
IntelliJ IDEA — известная IDE от JetBrains для JVM-языков вроде Java, Scala и Kotlin. Укомплектована уникальными инструментами и позволяет без проблем ориентироваться в программе. Есть и другие IDE от тех же разработчиков, например, PyCharm для Python, WebStorm для JavaScript и не только. Они во многом схожи между собой, поэтому большинство из нижеуказанных горячих клавиш должно работать и в других IDE от JetBrains.
Eclipse
Если вы близки с open-source сообществом, то вы наверняка слышали об Eclipse. Будучи доступным для Linux, Windows и OS X, Eclipse де-факто является open-source IDE для разработки на Java. Существует множество расширений и аддонов, которые делают Eclipse полезным для разного рода задач и разработки на отличных от Java языках программирования вроде Python.
Visual Studio 2017
Visual Studio — полнофункциональная IDE от Microsoft, которая во многом сопоставима с Eclipse. Доступная на Windows и Mac OS, Visual Studio представлена как в бесплатном (Community), так и в платном (Professional и Enterprise) вариантах. Visual Studio позволяет разрабатывать приложения для разных платформ и предоставляет свой собственный набор расширений.
Доступный на всех платформах Atom называют «хакабельным текстовым редактором 21 века». Atom написан с использованием Electron — фреймворка для создания кроссплатформенных приложений для десктопа средствами JavaScript, HTML и CSS — и имеет множество расширений.
Visual Studio Code
Visual Studio Code (не путать с Visual Studio) — полнофункциональный редактор кода, доступный на Windows, Linux и Mac OS X. VS Code является расширяемым open-source редактором, который можно настроить под любую задачу. Как и Atom, VS Code построен на Electron, поэтому у него есть те же преимущества и недостатки.
Sublime Text
Sublime Text, написанный инженером из Google с мечтой о лучшем текстовом редакторе, является весьма популярным редактором кода. Доступный на всех платформах, Sublime Text имеет встроенную поддержку редактирования кода на разных языках, а также богатый набор расширений, называемых пакетами, которые расширяют возможности синтаксиса и редактирования.
Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.
Перейти к регистрации
Фишки IDEA. Часть 1
Хотим поделиться с вами самыми интересными идеями (со ссылками на документацию, где подробно описано, как это работает).
Фишек и возможностей набралось так много, что пришлось делить весь список на две части. Сегодня поговорим о настройке экрана и организации рабочего пространства. А под конец напомним про множественные курсоры. А в следующий раз речь пойдет об оптимизации рабочего процесса.
Настройка экрана
IDEA допускает гибкую настройку интерфейса. Но тратить время на ковыряния в конфигурации имеет смысл, только если вопрос принципиальный. В ходе наших обсуждений таких вопроса всплыло три:
адаптация отображения под широкий монитор;
режим максимального сосредоточения на коде.
Широкий монитор
Если ее включить, нижняя панель по ширине будет ограничена основным экраном. Боковые инструменты при этом можно вывести вертикально с нужным количеством столбцов.
Настройка отключена
Настройка включена
Отличный пример, как это работает, есть в официальной документации.
Борьба с вкладками
Только код
Этот режим убирает лишние окна, оставляя на экране только код, чтобы не на что было отвлекаться. В отличие от полноэкранного отображения код оказывается посередине, а не сбоку. Это удобно при использовании широкоэкранного монитора.
На время дебаггинга, когда нужно прыгать между файлами, этот режим легко отключается.
Организация всех проектов в одном окне
Проекты не перепутаются. Каждый из них будет смотреть на свой branch, а управлять ими можно будет через меню Git Branches.
Если модулей станет слишком много, их количество можно изменить в меню Load/Unload Modules. Unload позволяет временно выгрузить некоторые корневые модули из проекта.
IdeaVim
Список команд можно найти в репозитории плагина.
Интеграция с YouTrack
Если команда использует YouTrack, IntelliJ IDEA можно интегрировать с этим инструментом через плагин, который расширяет функционал стандартного таск-менеджера.
Интеграция позволяет подписаться на изменения в существующих и назначение новых тикетов. В этом случае IDEA будет показывать обновления в собственных уведомлениях. Если работа постоянно идет в IDEA, то это удобнее, чем получать те же уведомления по электронной почте. Также через интеграцию можно подтягивать открытые задачи и прямо из их списка создавать changelist-ы и ветки.
Множественные курсоры
IDEA поддерживает ввод множественными курсорами. Штука это не новая, но оказалось, что этим не все пользуются.
Множественные курсоры открывают довольно обширные возможности при работе с большими списками параметров. Как их включить и пользоваться, хорошо описано в официальной документации.
Например, из списка вроде такого:
можно сделать такой:
Это работает, даже если элементы списка имеют разную длину. Для этого при выделении можно использовать сочетание Ctrl + Shift + стрелку вправо. Это сочетание каждым из курсоров выделяет целое слово, вне зависимости от его длины. После этого Ctrl+C копирует в буфер обмена все выделенные слова. В результате из такого списка:
Получаем готовый кусок кода:
На сегодня все. В следующий раз расскажем о том, какие инструменты удобно использовать для управления коммитами, а также почему нам проще тестировать и профилировать именно через IDEA.
Статья написана по материалам внутреннего вебинара Максилект.
Настройка IDEA для чистокодеров
Я люблю две вещи: Intellij IDEA и чистый код (Clean Code).
IDEA создана для чистого кода. Многие настройки по умолчанию уже стимулируют вас писать как надо.
Но она всё ещё не идеальна.
Когда я устанавливаю новую копию IDEA, я пробегаю по настройкам и выставляю свои любимые галочки.
Хочу ими с вами поделиться в надежде, что когда-нибудь и они станут стандартом.
Чистый код — это
Давайте посмотрим, что нужно настроить в IDEA, чтобы она способствовала написанию чистого кода.
Мои любимые галочки
Стандартные заголовки
Первым делом я всегда удаляю самый большой буллщит в Intellij IDEA — стандартный заголовок файлов:
Вся информация об авторах и датах должна храниться в специально отведённом для этого месте — системе контроля версий. Я не хочу захламлять этим код!
Аналогичным образом удаляю стандартные заголовки для некоторых языков:
Неисключительные исключения
Примерно в том же меню я удаляю надоедливые «throws Exception» в шаблонах для JUnit:
Они не нужны в большинстве случаев и только загрязняют код.
Чем меньше кода, не несущего полезной логики — тем лучше!
А там, где они понадобятся, IDEA добавит их на раз.
За чистотой тестов надо следить ещё внимательнее, чем за чистотой кода!
Автоматический импорт
Дальше я ставлю галочку «auto import». Когда я пишу в коде новое имя класса, пусть IDEA сама его моментально импортирует. Почему я должен беспокоится о том, что компьютер может сделать за меня? Лучше я не буду отвлекаться от действительно важных мыслей.
Это аццки удобная фича, попробуйте!
Работа с вкладками
Дорогой Дед Мороз, пожалуйста, убери их вообще из настроек IDEA, а я обещаю вести себя хорошо!
Show usages
Далее я обязательно назначаю комбинацию клавиш Ctrl+F7 на действие «Show usages». Это очень удобное действие, я его использую, наверное, чаще всех остальных! По умолчанию у него какая-то другая комбинация клавиш, не такая удобная. А Ctrl+F7 по умолчанию делает что-то другое, не такое полезное.
А действие «Show Usages» показывает все места, где используется данная переменная/метод, прямо тут же, в маленьком всплывающем окошке. Это чертовски удобно, не нужно переключать внимание и переносить взгляд в другое место! По нему можно удобно бегать вверх-вниз стрелками и закрывать простым ESC. Навигация на кончиках пальцев!
Вот как выглядит Show Usages в действии:
ВерблюжьиГорбы
То есть если курсор стоит в начале слова AbstractStudentFactory, и я нажимаю Ctrl+вправо, я хочу, чтобы курсор скакнул к началу подслова «Student», а не сразу в конец. В IDEA по умолчанию ровно наоборот.
А второй там же, в подменю «Smart keys»:
Автосохранение файлов
Многие знают (или догадываются), что IDEA автоматически сохраняет файлы, когда ты переключаешься в другую программу. Или когда запускаешь тесты. Это здорово. Не нужно постоянно нажимать Ctrl+S.
Вы не поверите: я до сих пор не могу избавиться от привычки постоянно жать Ctrl+S, хотя пересел с Eclipse на IDEA уже три года назад! Вот какая вредная привычка.
Но ещё было бы полезно, если б IDEA сохраняла файлы и просто так, когда я иду за чаем. Поэтому ставлю галочку «Save files automatically»:
И благодаря этому могу смело поставить ещё одну галочку, чтобы IDEA не спрашивала меня «Are you sure you want to exit IDEA»?
Меня не надо об этом переспрашивать. Я не боюсь закрыть IDEA в любой момент, потому что всегда могу открыть её снова, и там будут все мои файлы в целости и сохранности.
Inspections
Автоматические проверки кода — в наше время обязательное умение для IDE. В IDEA их много, полезных и не очень, не буду тут все рассматривать. Но одну я ставлю обязательно, причём строго с приоритетом «Error»: это «Missing @ Override annotation».
Строго говоря, это не имеет отношения к чистому коду. Просто я однажды провёл несколько вечеров в поиске зловредной неповторяемой баги, которая случалась потому, что кто-то случайно написал в подклассе метод с таким же именем, как в суперклассе (а именно, метод setUp в тесте). С тех пор я ревностно ставлю проверку на отсутствующую аннотацию @ Override.
Частые коммиты
Одна из хороших практик правильного программирования — это частые небольшие коммиты. Каждый коммит должен быть атомарным и делать одно изменение, а не сразу кучу разных.
Когда я следую этим правилам и коммичу 3 файла из 8 (остальные 5 я собираюсь тут же послать следующим коммитом), IDEA предлагает перенести остальные 5 файлов в другой «changeset». Возможно, это когда-то могло показаться удачной идеей, но в большинстве случаев я всё-таки собираюсь вскоре закоммитить и остальные 5 файлов тоже. Поэтому отключаем эту галочку:
Далее, когда я сделал несколько маленьких коммитов и хочу это дело запушить (git push), я сталкиваюсь с проблемой, что в IDEA нет комбинации клавиш для Push, а искать эту команду в меню реально неудобно. Делаем свой шорткат Ctrl+Shift+K:
Это удобно запомнить: Ctrl+K — коммит, Ctrl+Shift+K — пуш.
Дорогой Санта, добавь Ctrl+Shift+K в IDEA по умолчанию?
Учите, учите и ещё раз учите шорткаты!
IDEA хороша тем, что все необходимые плагины в ней уже есть из коробки. Для большинства ежедневных потребностей не нужно что-то искать и устанавливать дополнительно.
Но один плагин я ставлю обязательно. Это Key Promoter plugin — надоедливый подсказчик, заставляющий меня учить шорткаты. Каждый раз, когда я выбираю какое-то действие мышкой, он тут же говорит мне: «А ты таки мог это сделать такой-то комбинацией клавиш!» Он такой надоедливый, что ты волей-неволей начинаешь использовать эти шорткаты, лишь бы не видеть его лишний раз.
Обратная связь
И наконец, последняя галочка. Я хочу, чтобы IDEA анализировала мою работу с ней и ежедневно посылала собранную информацию в JetBrains. Это мой вклад в развитие отличного продукта Intellij IDEA.
Дорогие ребята из JetBrains, если это вам поможет сделать IDEA ещё лучше — следите за мной, анализируйте меня, берите всё что потребуется!