Comments 9
Еще удобная штука Multiple cursors
https://www.jetbrains.com/help/idea/multicursor.html
Интересная функция, но в моей практике редко встречается потребность в множественном редактировании. А у вас часто?
Несколько раз в неделю использую,
например при написании java records, factrories. Удобно скопировать несколько а иногда и очень мого строчек из json, csv привести их например из snacke_case в camelCase. Названия колонок таблицы БД также из ui idea копируются как многострочный список и переводятся в код.
Еще кейс - из логов скопировать только нужные фрагменты, например названия классов.
несколько раз в день, независимо от области. Тут важно мышление. Есть к примеру multiple select (ctrl+j, там есть ещё сочетание чтобы выделять не по одному, а сразу всё, но оно у меня кастомное а в дефолте помойму его нет), тогда каретки будут появляться на выделенной последовательности символов, а дальше можно редактировать как душе угодно, это весьма мощная штука
Поправьте всё-таки написание ide к единому виду
IntelliJ IDEA
Реклама Сбера, ты ли это?
По теме, возможно из очевидного, но: Shift + Shift магия. Поиск файлов, выполнение команд, работа со всем окружением в целом. Файлы искать можно по заглавным буквам, например найти HiddenGigacodeAdsServiceProvider
можно введя HGASP
или даже часть.
Первая статья из которой я формирую .doc и распечатываю его! Спасибо!
Гм. Я бы назвал статью Junior of IntelliJ IDEA :) И вот почему:
Первое, что нужно сделать, после того как открыл IDEA - зайти в Help / Keyboard Shortcuts PDF. Распечатать, повесить на стенку и учить наизусть. Там всё, что приведено в статье, и ещё много интересного :)
Собственно второе, что нужно сделать - это отключить долбанное дефолтное переназначение F-кнопок на клавиатуре ноута со всяких "Открыть браузер", "Уменьшить громкость" и прочие "Почесать спинку" на нормальные F-xx и убрать руку от мышки. При профессиональной работе она нужна очень редко - либо потыкать в интерфейс, для которого нет shortcuts (ну как нет: значит просто лень настроить) либо повыделять что-то блоком на экране, т.е. тот самый мультикурсор. Главное меню тоже по shortcuts надо звать - Alt-H, K - и вот на экране тот самый PDF из предыдущего абзаца. Честно говоря, у меня есть круг задач, которые я стабильно делаю мышкой, но обычно они связаны с навигацией в каком-то из tool windows. Видимо просто лень придумывать shortcut-ы, они у меня кажется кончились, приходится делать многоуровневые. Мечтаю о клавиатуре с F12 - F24 или педали для переключения слоёв. Рояль не предлагать :)
Следующее, с чем надо разобраться и начать использовать - это Live Templates (File | Settings | Editor | Live Templates). Похоже на Postfix completion, плюс: определение переменных уровня шаблона и контекста, в котором шаблон доступен. С его использованием становится не нужным например file templates: определяешь новый live template и вставляешь в пустой файл (Alt+1, Alt+Ins) по мере необходимости.
Вот мой любимый (самодельный), лень каждый раз это всё печатать руками, вызывается по pat
+ Tab (PArametrized Test):
static Stream<Arguments> sourceFor$METHOD_NAME$() {
return Stream.of(
Arguments.of("", ""),
Arguments.of("", ""),
Arguments.of("", "")
);
}
@ParameterizedTest
@MethodSource("sourceFor$METHOD_NAME$")
public void should$METHOD_NAME$(String object0, String object1){
$END$
}
После применения аккуратно правишь аргументы в парадигме - подали на вход - ожидаем результат и соответственно параметры метода на 11 строке, и вот он - параметризованный тест во всей красе. Минуc размножение тестов copy-paste, что обычно и происходит.
Стоит поковырять VM оptions, дефолтные настройки это очень, очень мало. У нас были случаи креша с порчей открытых файлов. На 6GB получается держать пару открытых проектов среднего размера. Если у вас "альтернативно импортированное" решение - то файлик, в котором нужно править опции - он не тот, который в документации, он другой.
Постарайтесь не использовать local history и shelve как основное хранилище изменений. Оно блин ЛОКАЛЬНОЕ. И прекрасно дохнет вместе с локальным винтом, чисткой кешей, переустановкой и ещё по тысяче причин. Git наше всё, тем более, что его поддержка близка к идеальной (но сравнивать два документа Word или PowerPoint, или отрисовать дерево веток как TortoiseGIt - не умеет). При правильном разведении веток - все мысли и идеи хранятся там, особенно если не стесняться писать многострочные пояснения к коммитам - что сделано, что не сделано, что падает и как и про что ещё нужно не забыть. WIP - коммит (Work In Progress) в локальную ветку после завершения каждого "логического блока" (30 минут - два часа работы, не больше) - это нормально. Всё равно потом будет squash и все душевные метания пропадут.. Зато возвращаешься к ветке через две недели, читаешь собственную историю и вспоминаешь, что имелось в виду. Но это уже не про IDEA, это про процесс разработки.
Обязательно надо настраивать цветовую схему редактора кода. Дефолтная - мягко говоря не раскрывает всех возможностей среды по идентификации элементов, но тут целую статью надо писать.
На первый взгляд выглядит попугаисто, но каждый цвет показывает на тип элемента:

белый - метод класса;
голубой - абстрактный метод
сиреневый - статический метод или интерфейс;
синий - класс;
зелёный - параметр;
салатовый - локальная переменная read-only;
желто-зелёный - параметр, захваченный из контекста;
Кстати - если у вас не слишком хорошо со зрением, то штатный шрифт среды разработки можно и нужно увеличить: у меня актуальный фаворит для самой IDEA Inter 15, для кода - Noto Sans Mono те же 15. Время от времени надоедают, меняю на аналоги из Google Fonts.
Главное меню пункты Code и Refactoring. Нужно протыкать каждый и понять, зачем он нужен и что делает. Избавляет от тысяч ручных правок файлов и экономит время. Но опять же - мышкой туда не набегаешься, поэтому учим клавиатурные комбинации. Мои фавориты - ну кроме очевидных рефакторингов, Extract/Introduce и Inline - Inspect Code, Analyze Data Flow from Here / to Here.
Кажется, комментарий начинает превращаться в статью. Поэтому заканчиваю на каждодневных Call Hierarchy (Сtrl-Alt-H под Windows) и просто Hierarchy (Ctrl-H), первое работает на сигнатуре метода, второе - где угодно в коде (и тогда показывает про текущий класс / интерфейс, или на конкретном типе - тогда рассказывает про него.
Удачи!
Junior of IntelliJ IDEA