Что нового в IntelliJ IDEA 2024.2

Недавно состоялись сразу два крупных обновления. И 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)

  • Большинство рефакторингов

  • Подсветку кода

  • Автодополнения

  • Отладку

  • Многое другое

 Скоро будет поддерживать:  

Отмечу, что режим К2 совместим с версиями Kotlin 1.9 и выше, а также версиями IntelliJ IDEA. 2024.1 и выше. А уже в следующей мажорной версии этот режим станет режимом по умолчанию для всех Kotlin проектов.

29944d7d7cefb6e0a770d6da93d49294.png

Новый интерфейс включен по умолчанию

Новый UI теперь включен по умолчанию для всех пользователей. По словам разработчиков, новый интерфейс отличается более крупными и удобными элементами управления, продуманной цветовой схемой, легкими для восприятия иконками, повышенной контрастностью и интуитивно понятными акцентами.   

654eeed5dccca197b3c947accfe24933.png

Для тех, кто не совсем согласен с этими аргументами — ребята представили плагин, установив который можно вернуться к старому UI.

А какой UI вам нравится больше? Старый или новый?

Превью результатов поиска в Search Everywhere

Думаю, что многие из вас знают, что самый простой способ найти файл или действие которое вы знаете как называется — это два раза нажать шифт, после чего откроется окно Search Everywhere. В этом окне можно написать название чего угодно, что вам нужно в данный момент.

Так вот, начиная с этой версии IntelliJ IDEA, эта прекрасная фича стала ещё круче, благодаря появлению возможности предпросмотра кода.

a549b1538b820137c55fcd657cc8aa5c.gif

Навигироваться по проекту стало ещё проще!

Улучшенная работа с логами

В IntelliJ IDEA 2024.2 улучшена работа с логами для Java и Kotlin.

Во-первых, появилась подсветка строковых литералов, за счёт чего стало легче различать места, в которые будут добавлены значения. А также тут есть навигация к значениями, которые будут вставлены на указанное место. В общем, ошибиться стало сильно сложнее. 

efa57bd3c3316e2667a38d9fe9425dbb.gif

Также появилась инспекция, которая проверяет передаваемое количество элементов. Что самое интересное, инспекции учитывают особенности используемого логгера. Например, предупреждение не будет срабатывать, если дополнительный аргумент относится к типу Exception. 

cbedf2ffc2deb7e56c350aae6195cedb.png

Наконец, избавиться от sout«ов стало максимально просто благодаря новому Quick-fix’у.

4b926ca1ad85fd77f30c5095e64e7a50.gif

Улучшенный дебаггер для Kotlin

Ещё одна прекрасная новость для Котлинистов! Наконец-то в режиме дебага step-over для inline функций не будет проскакивать, а будет заходить в них.

40003ea6f4183f914388e2d60faa855d.gif

Больше не нужно помнить что для forEach, let и filter нужно использовать step into, а не step over.

Визуализация строковых переменных для JSON, XML и других форматов

В IntelliJ IDEA 2024.2 дебаггер стал лучше не только для котлинистов, но и для всех, кому приходится часто сталкиваться с JSON, XML и HTML значениями во время дебага. 

c77c63ab2e5c05b350c1c7f08b26f095.png

Теперь для этих типов файлов можно будет видеть контент в привычном, отформатированном виде, а не в виде бесконечно длинной строки.

Улучшенная работа с Gradle

Первое, на что я обратил внимание — теперь рядом с названием gradle тасок появилась gutter-иконка для их запуска. Как по мне очень удобно, меньше нужно будет ходить в панель Gradle. 

7d6f03525f5f5f2c97dbd1f44ad5057b.png

Второе, что стоит упомянуть — это возможность навигации к плагинам. Придётся по душе тем, у кого большой проект в котором настраиваемая логика и различные задачи для сценариев сборки вынесены в отдельные плагины. 

0d3d3ab8ce68aa042141c85c15778f18.gif

Наконец, появилась навигация из файла libs.versions.toml, тоже может быть крайне полезно для тех, у кого многомодульный проект, а все версии зависимостей объявлены в файле libs.versions.toml

dc824bc0ee1b05ff784e6af9ce33e874.gif

Улучшения, связанные с VCS

Конфликты во время мёрджа стало разрешать проще. А именно, за конфликты в выражениях import можно больше не переживать, разрешая их благодаря новому действию:

6db0d6e6224187584b21b049e71d5ed9.png

Кстати, также можно включить автоматическое разрешение конфликтов в импортах в настройках и вовсе забыть про них :)

469a77df7f072fe1d287142d6d57d94a.png

Наконец то в виджете version control можно просматривать не только ветки, но и теги. 

d228e6f4b6ad1c1e476215cd6129e200.gif

Все настройки связанные с панелью Log теперь удобно собраны на отдельной странице. 

9b5a90ffbf0fc630e57e6a2bc4533a32.gif

Сама панель Log стала интуитивно понятнее благодаря улучшенной цветовой кодировке и расположению веток в дереве коммитов. 

efad2bb668b2865541737cf794dc1656.gif

А просматривая историю запутаться теперь будет сложнее благодаря опциям first parent и no merges, которые позволят оставить только действительно нужные коммиты. 

e4a4511e6a62ca684eaf7f3c25eda174.png

Инкрементальная синхронизация Maven-проектов

Одна из фич Gradle, за которую его можно любить — это инкрементальная сборка, которой Maven похвастаться не может. 

Gradle старается избегать лишней работы, отслеживая входные и выходные данные тасок и обрабатывает только измененные файлы, когда это возможно. 

9880fe4e67d02206cd4c8bfcfb446894.gif

IntelliJ IDEA решила дать фору Maven, и реализовала инкрементальную синхронизацию. Теперь после первоначальной полной синхронизации IDE обновляет только те части проекта, в которых обнаруживает изменения, а не весь проект. 

529a986294be6592eb1473a47f4463ce.png

Подписывайтесь на наши Telegram и YouTube, чтобы не пропустить новые материалы про Amplicode, Spring и связанные с ним технологии!

А если вы хотите попробовать Amplicode в действии — то можете установить его абсолютно бесплатно уже сейчас, как в IntelliJ IDEA/GigaIDE, так и в VS Code.

© Habrahabr.ru