GIGA IDE. Горячие клавиши
Ни одна профессиональная работа в любом приложении не обходится без использования горячих клавиш, так как это существенно увеличивает удобство и скорость работы. И GIGA IDE в этом плане не исключение. На самом деле горячие клавиши в GIGA IDE практически полностью идентичны горячим клавишам в Intellij IDEA. Посмотреть полный список горячих клавиш можно открыв в меню Помощь -> Горячие клавиши
И у нас открывается pdf файл с полным перечнем горячих клавиш для различных операционных систем. И как упоминалось выше, мы видим большие черные буквы Intellij IDEA
И с одной стороны это понятно, т.к. GIGA IDE была разработана на базе community версии Intellij IDEA. Но с другой стороны для такой огромной компании как Сбер с ее количеством ресурсов, наверное не сложно было бы сделать свою собственную страничку. Отмечу, что речь идет вот об этой версии:
Возможно в будущем это изменится.
Полный список горячих клавиш достаточно большой, поэтому далее приведу сочетания, которые я наиболее часто использую в своей работе. Ну и конечно не буду говорить про общие для всех приложений сочетания.
Редактирование
Ctrl + Пробел - автодополнение кода. Начинаем набирать имя класса, метода или переменной и жмем Ctrl + Пробел. И из выпадающего списка выбираем нужное значение
Ctrl + D - дублирование текущей строки.
Ctrl + Y - удаление текущей строки
Ctrl + / - закомментировать/раскомментировать строку
Shift + Ctrl + / - многострочный комментарий
Ctrl + Q - быстрый просмотр информации по классу или методу, на котором спозиционирован курсор, во всплывающем окне.
Ctrl + W - выделение блока кода. В зависимости от того где находится курсор будет выделяться соответствующий блок кода: циклы, условия, методы, классы и т.д. При каждом следующем нажатии выделяется блок кода находящийся уровнем выше. Удобно использовать когда нужно выделить блок кода, который не влезает на экран по высоте. Например длинный метод.
Shift + Ctrl + W - операция обратная Ctrl + W. То есть с каждым нажатием уменьшает выделенный блок кода.
Ctrl + Alt + Enter - добавление новой строки над текущей и перевод курсора на новую строку. Казалось бы зачем, когда есть просто Enter. Но ценно тем, что позволяет добавлять новую строку вне завимости от позиции курсора на текущей строке.
Shift + Enter - добавление новой строки под текущей и перевод курсора на новую строку.
Ctrl + O - переопределение методов. Если встать на класс и нажать данное сочетание, то откроется окно со списком методов, которые можно переопределить. Так как все классы в java наследуются от Object, то как минимум в списке будут методы класса Object, а далее в зависимости от класса-предка или методы имплементируемого интерфейса.
Ctrl + Alt + T - позволяет окружить текущую строку кода какой-либо языковой конструкцией: условием, блоком try-catch и т.д. У меня чаще всего возникает необходимость как раз таки в попытке-исключении. Когда написал строчку, а потом понял, что она должна быть внутри try-catch.
Ctrl + Shift + V - позволяет вставлять из буфера не только последнее копирование, но и сделанные ранее. Сам пользуюсь редко, но возможность интересная.
Ctrl + Shift + U - изменение регистра выделенного текста. Из прописных букв в строчные и наоборот.
Shift + Alt + Insert - позволяет переключаться в режим множественного курсора. Когда нажатие клавиш Shift + стрелка вверх/вниз приводит не к выделению нескольких строк, а к появлению еще одного курсора на строке выше или ниже. Это позволяет потом отредактировать сразу несколько строк. Иногда просто незаменимая функция, которая экономит массу времени. Также размножить курсор можно сочетанием клавиш Shift + Alt + ЛКМ (левая кнопка мыши).
Запуск и отладка
Shift + F10 - запуск приложения, которое выбрано на текущий момент в панели инструментов.
Shift + Ctrl + F10 - запуск метода main в текущем открытом окне редактора кода. Если в открытом окне нет метода main, то не произойдет ничего.
Shift + F9 - запуск текущего приложения в режиме отладки.
Ctrl + F5 - перезапустить текущее приложение.
Ctrl + F8 - установить/снять точку останова.
F9 - продолжить выполнение кода. Обычно после того как выполнение кода зафиксировалось на точке останова.
F8 - пошаговое выполнение кода. Одна строка за раз.
F7 - пошаговое выполнение кода с заходом в вызываемые методы.
Alt + F10 - перейти к строке кода, которая является текущей в режиме отладки. Стандартная ситуация - вы поставили точку останова, выполнение дошло до нее, а дальше вы открыли еще десяток классов, а потом захотели вернуться к строке на которой остановились. И здесь данная комбинация клавиш очень выручает.
Alt + F8 - посмотреть в режиме отладки значение переменной на которой сейчас находится курсор.
Навигация, поиск
Ctrl + ЛКМ (левая кнопка мыши) - это безусловно одно из самых часто используемых и универсальных сочетаний клавиш. Жмем Ctrl и щелкаем мышью по классу, методу, переменной. В итоге переходим в то место кода, где была объявлена соответствующая сущность. И наоборот, если щелкаем по объявлению метода, класса, интерфейса, то раскрывается окно с перечнем мест где они используются.
Ctrl + B - то же самое, что и Ctrl + ЛКМ. И с моей точки зрения менее удобное в использовании. Лично у меня прижился Ctrl + ЛКМ
Shift + Ctrl + F - поиск текста по всему проекту.
Ctrl + N - поиск класса.
Alt + левая или правая стрелка - переход к предыдущему или следующему месту. То есть по сути перемещение по истории просмотра кода в ту или иную сторону. Те же самые действия можно сделать с помощью кнопок мыши вперед/назад. Которые находятся на боковой поверхности под большим пальцем. Правда в самых простых моделях этих кнопок нет. И мышью конечно это делать более удобно.
Ctrl + G - переход к строке по ее номеру. Не очень часто применяется. Но когда часто надо возвращаться к одной и той же строке в пределах класса, может сократить время.
Ctrl + E - открывает окно с перечнем последних посещенных классов.
Ctrl + F12 - открывает окно со списком методов открытого класса. также отображаются вложенные классы. Отлично помогает при исследовании стандартных классов java и различных библиотек
Ctrl + ] / [ - перемещение в начало или конец блока кода.
Ctrl + H - просмотр иерархии классов.
Shift + Ctrl + H - работает при позиционировании на методе. Открывает окно, в котором можно посмотреть наличие метода в иерархии классов.
Ctrl + Alt + H - просмотр иерархии вызова метода. То есть можно отследить цепочки которые приводят к вызову метода на котором сейчас стоит курсор
F11 - установить/снять закладку
При просмотре кода очень часто приходится перемещаться между классами. В том числе отслеживая последовательность вызова методов. И 20+ открытых закладок с классами вполне себе обычное явление. И конечно же в таком количестве кода очень легко заблудиться. И здесь трудно переоценить роль закладок (bookmark). Правда обычные закладки не так эффективны. Гораздо интереснее нумерованные. И о них ниже.
Ctrl + F11 - открывает окно для установки нумерованной закладки
Как видим в качестве метки для закладки можно выбрать цифру или букву латинского алфавита. Сразу скажу что вариант с цифрами предпочтительней. Выглядит нумерованная закладка вот так:
Ctrl + 0...9 - нажатие Ctrl совместно с одной из цифр от нуля до девяти приводит к переходу на код с установленной закладкой. Действует в рамках всего проекта. Это сочетание клавиш работает только с цифрами. Вот почему использование закладок с цифрами предпочтительней чем с буквами. Для букв тоже есть способ, но требует больших нажатий клавиш.
Shift + F11 - открывает окно с установленными закладками. При выборе закладки происходит переход к коду, где она была установлена.
Alt + F1 - открывает окно со списком панелей инструментов.
После открытия окна можно выбрать нужный пункт мышью или нажать на клавиатуре соответствующую цифру. И наибольший интерес здесь представляет пункт под номеом один, то есть панель инструментов с деревом проекта. Часто возникает ситуация, когда находясь в окне редактирования кода, хочется посмотреть, в каком месте дерева в проекте находится файл с данным классом. И фишка в том, что при открытии окна проекта через данное сочетание клавиш у нас в дереве проекта происходит позиционирование на текущем классе. Причем это касается и подключенных библиотек.
Рефакторинг
Alt + Enter - одна из самых часто применяемых горячих клавиш. В основном используется чтобы пофиксить ошибки в процессе написания кода. По нажатию открывается контекстное меню из которого можно выбрать желаемое действие. Помогает при опечатках, при добавлении импортов, несоответствии типов и т.д. Увидели коде красное подчеркивание - позиционируемся на нем и смело жмем Alt + Enter.
Shift + F6 - переименовать класс, метод, переменную и т.д. Очень мощная и нужная вещь. Достаточно часто в процессе разработки бывают опечатки при написании имен различных сущностей. А после того как имя написано в первый раз, в дело вступает автокомплит и ошибка воспроизводится далее. Либо в какой-то момент понимаешь, что есть гораздо более подходящее имя. Но к этому моменту кода написано уже много и менять имя вручную по всему коду это верный путь к багам. Но данное сочетание клавиш позволяет автоматизировать процесс переименования. Причем проделывать это можно из любого места. И в самом определении сущности, и в месте ее использования, и даже в дереве проекта для классов. IDE сама найдет все места использования и везде переименует. Сочетание клавиш легко запоминается, т.к. во многих файловых менеджерах оно используется для переименования классов.
Ctrl + Alt + O - удаляет неиспользуемые импорты. Может так же заменять несколько импортов на один со звездочкой. Мусорные, неиспользуемые импорты, как правило, появляются в результате рефакторинга кода.
Ctrl + Alt + L - автоформатирование выделенного блока кода.
Панели инструментов
Функционал IDE очень разнообразен. Соответственно в ней присутствует большое количество панелей инструментов, которые приходится периодически открывать и закрывать. И для этого тоже существуют горячие клавиши. Это клавиша Alt + цифра:
Alt + 1 - дерево проекта
Alt + 2 - закладки и точки останова
Alt + 3 - результаты поиска
Alt + 4 - окно ввода/вывода при выполнении кода
Alt + 5 - панель инструментов для отладки
Alt + 6 - панель для вывода ошибок
Alt + 7 - структура проекта
Alt + 8 - сервисы
Alt + 9 - система контроля версий
Заключение
Конечно же здесь присутствует далеко не полный перечень горячих клавиш. Постарался дать только те, что сам использую на практике. Остальное можно почерпнуть из документации. И конечно же самое главное - закрепить при практическом использовании. Желаю всем быстрого и чистого кода.