Недавно состоялись сразу два крупных обновления. И IntelliJ IDEA и Amplicode зарелизились с новыми версиями 2024.2. Про Amplicode я уже рассказывал в другой статье, в этой расскажу про IntelliJ IDEA Community Edition.
Улучшения, которые вошли в состав Ultimate версии IntelliJ IDEA я рассматривать не буду ввиду невозможности установки и активации этой IDE.
Статья также доступна в формате видео на YouTube и VK Видео, так что можно и смотреть, и читать — как вам удобнее!
Быстрый старт
В версии IntelliJ IDEA 2024.2 ускорился запуск IDE. Теперь даже пока не завершена индексация, у меня есть доступ к основным функциям IDE, включая подсветку синтаксиса, автодополнение, контекстные действия, запуск тестов, gutter-иконки и так далее.
Субъективно могу отметить, что действительно, даже на маленьких проектах, появилось ощущение, что проекты открываются быстрее. По всей видимости как раз из-за того, что визуально практически всё, к чему я привык, сразу так и выглядит.
Режим К2
Котлинисты скорее всего вкурсе, что не так давно был выпущен компилятор K2 для Kotlin, который по заверениям разработчиков:
- привнёс улучшение производительности до 94%;
- ускорил этап инициализации до 488%;
- ускорил этап анализа кода до 376%.
По всей видимости, ребята из JetBrains, увидев такие потрясающие показатели, решили найти им применение и в своей среде разработки.
Теперь вы можете включить режим K2 и в Kotlin проектах, IDE должна намного быстрее осуществлять подсветку кода, показывать код комплишены и так далее.
Вот список фич, которые на данный момент поддерживает режим К2:
- Скрипты build.gradle.kts
- Проекты на Kotlin Multiplatform (KMP)
- Большинство рефакторингов
- Подсветку кода
- Автодополнения
- Отладку
- Многое другое
Скоро будет поддерживать:
- Kotlin/Wasm
- Scratch файлы
- Менее часто используемые рефакторинги
Отмечу, что режим К2 совместим с версиями Kotlin 1.9 и выше, а также версиями IntelliJ IDEA. 2024.1 и выше. А уже в следующей мажорной версии этот режим станет режимом по умолчанию для всех Kotlin проектов.
Новый интерфейс включен по умолчанию
Новый UI теперь включен по умолчанию для всех пользователей. По словам разработчиков, новый интерфейс отличается более крупными и удобными элементами управления, продуманной цветовой схемой, легкими для восприятия иконками, повышенной контрастностью и интуитивно понятными акцентами.
Для тех, кто не совсем согласен с этими аргументами – ребята представили плагин, установив который можно вернуться к старому UI.
А какой UI вам нравится больше? Старый или новый?
Превью результатов поиска в Search Everywhere
Думаю, многие из вас знают, что самый простой способ найти файл или действие которое вы знаете как называется – это два раза нажать Shift, после чего откроется окно Search Everywhere. В этом окне можно написать название чего угодно, что вам нужно в данный момент.
Так вот, начиная с этой версии IntelliJ IDEA, эта прекрасная фича стала ещё круче, благодаря появлению возможности предпросмотра кода.
Навигироваться по проекту стало ещё проще!
Улучшенная работа с логами
В IntelliJ IDEA 2024.2 улучшена работа с логами для Java и Kotlin.
Во-первых, появилась подсветка строковых литералов, за счёт чего стало легче различать места, в которые будут добавлены значения. А также тут есть навигация к значениями, которые будут вставлены на указанное место. В общем, ошибиться стало сильно сложнее.
Также появилась инспекция, которая проверяет передаваемое количество элементов. Что самое интересное, инспекции учитывают особенности используемого логгера. Например, предупреждение не будет срабатывать, если дополнительный аргумент относится к типу Exception.
Наконец, избавиться от sout’ов стало максимально просто благодаря новому Quick-fix'у.
Улучшенный дебаггер для Kotlin
Ещё одна прекрасная новость для Котлинистов! Наконец-то в режиме дебага step-over для inline функций не будет проскакивать, а будет заходить в них.
Больше не нужно помнить что для
forEach
,
let
и
filter
нужно использовать step into, а не step over.
Визуализация строковых переменных для JSON, XML и других форматов
В IntelliJ IDEA 2024.2 дебаггер стал лучше не только для котлинистов, но и для всех, кому приходится часто сталкиваться с JSON, XML и HTML значениями во время дебага.
Теперь для этих типов файлов можно будет видеть контент в привычном, отформатированном виде, а не в виде бесконечно длинной строки.
Улучшенная работа с Gradle
Первое, на что я обратил внимание – теперь рядом с названием gradle тасок появилась gutter-иконка для их запуска. Как по мне очень удобно, меньше нужно будет ходить в панель Gradle.
Второе, что стоит упомянуть – это возможность навигации к плагинам. Придётся по душе тем, у кого большой проект в котором настраиваемая логика и различные задачи для сценариев сборки вынесены в отдельные плагины.
Наконец, появилась навигация из файла
libs.versions.toml
, тоже может быть крайне полезно для тех, у кого многомодульный проект, а все версии зависимостей объявлены в файле
libs.versions.toml
.
Улучшения, связанные с VCS
Конфликты во время мёрджа стало разрешать проще. А именно, за конфликты в выражениях import можно больше не переживать, разрешая их благодаря новому действию:
Кстати, также можно включить автоматическое разрешение конфликтов в импортах в настройках и вовсе забыть про них :)
Наконец то в виджете version control можно просматривать не только ветки, но и теги.
Все настройки связанные с панелью Log теперь удобно собраны на отдельной странице.
Сама панель Log стала интуитивно понятнее благодаря улучшенной цветовой кодировке и расположению веток в дереве коммитов.
А просматривая историю запутаться теперь будет сложнее благодаря опциям first parent и no merges, которые позволят оставить только действительно нужные коммиты.
Инкрементальная синхронизация Maven-проектов
Одна из фич Gradle, за которую его можно любить – это инкрементальная сборка, которой Maven похвастаться не может.
Gradle старается избегать лишней работы, отслеживая входные и выходные данные тасок и обрабатывает только измененные файлы, когда это возможно.
IntelliJ IDEA решила дать фору Maven, и реализовала инкрементальную синхронизацию. Теперь после первоначальной полной синхронизации IDE обновляет только те части проекта, в которых обнаруживает изменения, а не весь проект.
Подписывайтесь на наши Telegram и YouTube, чтобы не пропустить новые материалы про Amplicode, Spring и связанные с ним технологии!