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


  1. Adel-S
    30.08.2024 09:11
    +16

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

    А можно не надо?


    1. VirtualVoid
      30.08.2024 09:11
      +5

      По словам реальных разработчиков, которые в частности можно почитать в отзывах на Classic UI плагин, не так уж всё и гладко-удобно.
      Скорее, не удобно совсем, но это моё частное мнение.
      Лучше бы просто оставили на месте ту самую New UI опцию.


    1. kivan_mih
      30.08.2024 09:11
      +8

      Скорее не надо из классика делать второй сорт и выпихивать в плагин. Хотят привлекать зумеров с vscode, пожалуйста, но примерять зумерское платье на старичках, плативших последние 15 лет кажется несколько неприлично особенно для компании, традиционно славившейся заботой о своих пользователях.


  1. gudvinr
    30.08.2024 09:11
    +16

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


    1. 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, на мой взгляд.


      1. N1kk0n
        30.08.2024 09:11

        Альтернативная страница тоже не даёт доступа к загрузке Ultimate-версии


        1. honest_niceman Автор
          30.08.2024 09:11

          К Ultimate да, Ultimate недоступна с любых страниц, в том числе по этой причине в статье рассказывал только про фичи Community Edition


    1. kemsky
      30.08.2024 09:11

      А ведь по условиям подписки купленная версия обязана оставаться доступна, пусть и без обновлений.


      1. Reallamos
        30.08.2024 09:11

        Под впн обновляется без проблем.


  1. kimisa
    30.08.2024 09:11

    С чем борюсь в Goland. Кеш постоянно разрастается и проблемно смотреть по истории. Да и тормозить начинает. Поэтому раз в 2 недели скидываю кеш. А проглодство продукта та еще проблема - 5 - 7 гигов памяти ест без проблем.


    1. gudvinr
      30.08.2024 09:11
      +2

      Оперативка нужна чтобы её использовать. Вам же не на зиму её солить. Если IDE грузит в память индексы и это действительно влияет на отзывчивость, то ничего плохого нет если она будет использовать хоть всю память

      Если на отзывчивость не влияет - это конечно другой вопрос, но у вас и постановка проблемы довольно гибкую трактовку допускает


      1. kimisa
        30.08.2024 09:11

        Большая проблема - кеш. При накоплении начинает подтормаживать при поиске. В шторме такого не было.


        1. vcKomm
          30.08.2024 09:11

          Шторм после нескольких дней аптайма у меня тоже подтормаживает. Но перезапуск решает


      1. dmitriinikolaev
        30.08.2024 09:11

        Всё зависит от конкретного случая и того, как именно IDE управляет памятью и её нагрузкой


    1. ant1free2e
      30.08.2024 09:11
      +1

      VS Code на большом проекте может выжрать и больше, когда я специально сравнивал, было на пару гигов разницы


  1. vic_1
    30.08.2024 09:11
    +3

    Я использую новый UI со старой цветовой схемой и шрифтом


  1. magways
    30.08.2024 09:11

    А ещё поломали запуск cucumber тестов, когда идея настроена на запуск тестов с помощью грэдл. (Не передаются путь к feature фойлу и glue)


  1. kpbsod
    30.08.2024 09:11

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


  1. Imbashket
    30.08.2024 09:11

    С каждым новым патчем ломается много уже существующих фич. Хотелось бы видеть лучшее тестирование, а не гонку за новыми фичами. Из последнего: перенести классы из пакета в пакет почти всегда стреляет ошибкой, http файлы с запросами подвешивают IDE секунд на 30. И это на достаточно топовом проце и 64гб оперативки.


  1. 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 и прочие СДВГ. На мнение пользователей положили.


  1. QuarkDoe
    30.08.2024 09:11

    Как же меня вымораживает их новый UI. А теперь ещё и Classic UI выпихали в отдельный плагин. Тфу, срамота.