Недавно состоялись сразу два крупных обновления. И 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 проектов.
![](https://habrastorage.org/getpro/habr/upload_files/299/44d/7d7/29944d7d7cefb6e0a770d6da93d49294.png)
Новый интерфейс включен по умолчанию
Новый UI теперь включен по умолчанию для всех пользователей. По словам разработчиков, новый интерфейс отличается более крупными и удобными элементами управления, продуманной цветовой схемой, легкими для восприятия иконками, повышенной контрастностью и интуитивно понятными акцентами.
![](https://habrastorage.org/getpro/habr/upload_files/654/eee/d5d/654eeed5dccca197b3c947accfe24933.png)
Для тех, кто не совсем согласен с этими аргументами – ребята представили плагин, установив который можно вернуться к старому UI.
А какой UI вам нравится больше? Старый или новый?
Превью результатов поиска в Search Everywhere
Думаю, что многие из вас знают, что самый простой способ найти файл или действие которое вы знаете как называется – это два раза нажать шифт, после чего откроется окно Search Everywhere. В этом окне можно написать название чего угодно, что вам нужно в данный момент.
Так вот, начиная с этой версии IntelliJ IDEA, эта прекрасная фича стала ещё круче, благодаря появлению возможности предпросмотра кода.
![](https://habrastorage.org/getpro/habr/upload_files/a54/9b1/538/a549b1538b820137c55fcd657cc8aa5c.gif)
Навигироваться по проекту стало ещё проще!
Улучшенная работа с логами
В IntelliJ IDEA 2024.2 улучшена работа с логами для Java и Kotlin.
Во-первых, появилась подсветка строковых литералов, за счёт чего стало легче различать места, в которые будут добавлены значения. А также тут есть навигация к значениями, которые будут вставлены на указанное место. В общем, ошибиться стало сильно сложнее.
![](https://habrastorage.org/getpro/habr/upload_files/efa/57b/d3c/efa57bd3c3316e2667a38d9fe9425dbb.gif)
Также появилась инспекция, которая проверяет передаваемое количество элементов. Что самое интересное, инспекции учитывают особенности используемого логгера. Например, предупреждение не будет срабатывать, если дополнительный аргумент относится к типу Exception.
![](https://habrastorage.org/getpro/habr/upload_files/cbe/df2/ffc/cbedf2ffc2deb7e56c350aae6195cedb.png)
Наконец, избавиться от sout’ов стало максимально просто благодаря новому Quick-fix'у.
![](https://habrastorage.org/getpro/habr/upload_files/4b9/26c/a1a/4b926ca1ad85fd77f30c5095e64e7a50.gif)
Улучшенный дебаггер для Kotlin
Ещё одна прекрасная новость для Котлинистов! Наконец-то в режиме дебага step-over для inline функций не будет проскакивать, а будет заходить в них.
![](https://habrastorage.org/getpro/habr/upload_files/400/03e/a6f/40003ea6f4183f914388e2d60faa855d.gif)
Больше не нужно помнить что для forEach
, let
и filter
нужно использовать step into, а не step over.
Визуализация строковых переменных для JSON, XML и других форматов
В IntelliJ IDEA 2024.2 дебаггер стал лучше не только для котлинистов, но и для всех, кому приходится часто сталкиваться с JSON, XML и HTML значениями во время дебага.
![](https://habrastorage.org/getpro/habr/upload_files/c77/c63/ab2/c77c63ab2e5c05b350c1c7f08b26f095.png)
Теперь для этих типов файлов можно будет видеть контент в привычном, отформатированном виде, а не в виде бесконечно длинной строки.
Улучшенная работа с Gradle
Первое, на что я обратил внимание – теперь рядом с названием gradle тасок появилась gutter-иконка для их запуска. Как по мне очень удобно, меньше нужно будет ходить в панель Gradle.
![](https://habrastorage.org/getpro/habr/upload_files/7d6/f03/525/7d6f03525f5f5f2c97dbd1f44ad5057b.png)
Второе, что стоит упомянуть – это возможность навигации к плагинам. Придётся по душе тем, у кого большой проект в котором настраиваемая логика и различные задачи для сценариев сборки вынесены в отдельные плагины.
![](https://habrastorage.org/getpro/habr/upload_files/0d3/d3a/b8c/0d3d3ab8ce68aa042141c85c15778f18.gif)
Наконец, появилась навигация из файла libs.versions.toml
, тоже может быть крайне полезно для тех, у кого многомодульный проект, а все версии зависимостей объявлены в файле libs.versions.toml
.
![](https://habrastorage.org/getpro/habr/upload_files/dc8/24b/c0e/dc824bc0ee1b05ff784e6af9ce33e874.gif)
Улучшения, связанные с VCS
Конфликты во время мёрджа стало разрешать проще. А именно, за конфликты в выражениях import можно больше не переживать, разрешая их благодаря новому действию:
![](https://habrastorage.org/getpro/habr/upload_files/6db/0d6/e62/6db0d6e6224187584b21b049e71d5ed9.png)
Кстати, также можно включить автоматическое разрешение конфликтов в импортах в настройках и вовсе забыть про них :)
![](https://habrastorage.org/getpro/habr/upload_files/469/a77/df7/469a77df7f072fe1d287142d6d57d94a.png)
Наконец то в виджете version control можно просматривать не только ветки, но и теги.
![](https://habrastorage.org/getpro/habr/upload_files/d22/8e6/f4b/d228e6f4b6ad1c1e476215cd6129e200.gif)
Все настройки связанные с панелью Log теперь удобно собраны на отдельной странице.
![](https://habrastorage.org/getpro/habr/upload_files/9b5/a90/ffb/9b5a90ffbf0fc630e57e6a2bc4533a32.gif)
Сама панель Log стала интуитивно понятнее благодаря улучшенной цветовой кодировке и расположению веток в дереве коммитов.
![](https://habrastorage.org/getpro/habr/upload_files/efa/d2b/b66/efad2bb668b2865541737cf794dc1656.gif)
А просматривая историю запутаться теперь будет сложнее благодаря опциям first parent и no merges, которые позволят оставить только действительно нужные коммиты.
![](https://habrastorage.org/getpro/habr/upload_files/e4a/451/1e6/e4a4511e6a62ca684eaf7f3c25eda174.png)
Инкрементальная синхронизация Maven-проектов
Одна из фич Gradle, за которую его можно любить – это инкрементальная сборка, которой Maven похвастаться не может.
Gradle старается избегать лишней работы, отслеживая входные и выходные данные тасок и обрабатывает только измененные файлы, когда это возможно.
![](https://habrastorage.org/getpro/habr/upload_files/988/0fe/4e6/9880fe4e67d02206cd4c8bfcfb446894.gif)
IntelliJ IDEA решила дать фору Maven, и реализовала инкрементальную синхронизацию. Теперь после первоначальной полной синхронизации IDE обновляет только те части проекта, в которых обнаруживает изменения, а не весь проект.
![](https://habrastorage.org/getpro/habr/upload_files/529/a98/629/529a986294be6592eb1473a47f4463ce.png)
Подписывайтесь на наши Telegram и YouTube, чтобы не пропустить новые материалы про Amplicode, Spring и связанные с ним технологии!
А если вы хотите попробовать Amplicode в действии – то можете установить его абсолютно бесплатно уже сейчас, как в IntelliJ IDEA/GigaIDE, так и в VS Code.