Недавно состоялись сразу два крупных обновления. И 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
Думаю, что многие из вас знают, что самый простой способ найти файл или действие которое вы знаете как называется – это два раза нажать шифт, после чего откроется окно 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 и связанные с ним технологии!
А если вы хотите попробовать Amplicode в действии – то можете установить его абсолютно бесплатно уже сейчас, как в IntelliJ IDEA/GigaIDE, так и в VS Code.
Комментарии (21)
gudvinr
30.08.2024 09:11+16Что нового в IntelliJ IDEA 2024.2
honest_niceman Автор
30.08.2024 09:11Там хитрый лендинг) Это только для IntelliJ IDEA Ultimate так, но есть пролистать вниз на этой странице: https://www.jetbrains.com/idea/download, то там можно будет выбрать IntelliJ IDEA Community Edition и она скачается без проблем.
Альтернативно можно вот эту страницу использовать: https://www.jetbrains.com/idea/download/other.html, тут сразу понятно где Ultimate, а где Community, на мой взгляд.N1kk0n
30.08.2024 09:11Альтернативная страница тоже не даёт доступа к загрузке Ultimate-версии
honest_niceman Автор
30.08.2024 09:11К Ultimate да, Ultimate недоступна с любых страниц, в том числе по этой причине в статье рассказывал только про фичи Community Edition
kimisa
30.08.2024 09:11С чем борюсь в Goland. Кеш постоянно разрастается и проблемно смотреть по истории. Да и тормозить начинает. Поэтому раз в 2 недели скидываю кеш. А проглодство продукта та еще проблема - 5 - 7 гигов памяти ест без проблем.
gudvinr
30.08.2024 09:11+2Оперативка нужна чтобы её использовать. Вам же не на зиму её солить. Если IDE грузит в память индексы и это действительно влияет на отзывчивость, то ничего плохого нет если она будет использовать хоть всю память
Если на отзывчивость не влияет - это конечно другой вопрос, но у вас и постановка проблемы довольно гибкую трактовку допускает
dmitriinikolaev
30.08.2024 09:11Всё зависит от конкретного случая и того, как именно IDE управляет памятью и её нагрузкой
ant1free2e
30.08.2024 09:11+1VS Code на большом проекте может выжрать и больше, когда я специально сравнивал, было на пару гигов разницы
magways
30.08.2024 09:11А ещё поломали запуск cucumber тестов, когда идея настроена на запуск тестов с помощью грэдл. (Не передаются путь к feature фойлу и glue)
kpbsod
30.08.2024 09:11Использую новый UI со светлой темой. Новый UI намного приятнее старого, правда пришлось потратить некоторое время, чтобы привыкнуть. На старый точно не вернусь!
Imbashket
30.08.2024 09:11С каждым новым патчем ломается много уже существующих фич. Хотелось бы видеть лучшее тестирование, а не гонку за новыми фичами. Из последнего: перенести классы из пакета в пакет почти всегда стреляет ошибкой, http файлы с запросами подвешивают IDE секунд на 30. И это на достаточно топовом проце и 64гб оперативки.
Maccimo
30.08.2024 09:11Первое, что я заметил после обновления до 2024.2 и изгнания косплея VSCode с экрана это то, что в запускалке юнит-тестов сломан просмотр Diff для упавших тестов, а в самом окне Diff с полей пропали иконки применить/проигнорировать изменения. На этом знакомство закончилось и я вернулся на 2024.1
Без исправно работающего Diff продукт к использованию непригоден.
Статья также доступна в формате видео на YouTube и VK Видео
Вот как это выглядит в свежем Хроме, на свежем Андроиде:
Бросьте каку и не трогайте больше никогда.
В версии IntelliJ IDEA 2024.2 ускорился запуск IDE.
Когда-то в release notes уже встречалось упоминание «ускорения». В тот раз я с удивлением заметил в новой версии индикатор загрузки на панелях инструментов (!). Все 100500 лет перед этим как-то всё быстро грузилось и без этих «ускорений».
легкими для восприятия иконками
В прошлый раз нам тоже затирали про «более лучшие» иконки и что-то там про distraction, visual noise и прочие СДВГ. На мнение пользователей положили.
QuarkDoe
30.08.2024 09:11Как же меня вымораживает их новый UI. А теперь ещё и Classic UI выпихали в отдельный плагин. Тфу, срамота.
Adel-S
А можно не надо?
VirtualVoid
По словам реальных разработчиков, которые в частности можно почитать в отзывах на Classic UI плагин, не так уж всё и гладко-удобно.
Скорее, не удобно совсем, но это моё частное мнение.
Лучше бы просто оставили на месте ту самую New UI опцию.
kivan_mih
Скорее не надо из классика делать второй сорт и выпихивать в плагин. Хотят привлекать зумеров с vscode, пожалуйста, но примерять зумерское платье на старичках, плативших последние 15 лет кажется несколько неприлично особенно для компании, традиционно славившейся заботой о своих пользователях.