Привет, Хабр!
Сегодня у нас особый день: состоялся первый релиз этого года — IntelliJ IDEA 2021.1! Обновление уже доступно на нашем сайте и в Toolbox App. Кроме того, можно обновиться из самой IDE или с помощью snap-пакета, если вы являетесь пользователем Ubuntu.
![](https://habrastorage.org/getpro/habr/upload_files/ee9/501/ca6/ee9501ca69847ef7e18f085186be178e.png)
В этой версии введено множество новых функций и устранены некоторые недочеты. Теперь вы можете работать с Java-проектами в WSL 2, использовать интегрированный Space, устраивать видеозвонки при совместной работе над кодом с сервисом Code With Me и запускать код на SSH хостах и в Docker-контейнерах. А еще мы добавили базовую поддержку Java 16, ряд новых полезных инспекций и возможность предпросмотра HTML-файлов прямо из IDE. И это далеко не все! Изменения затронули практически каждый раздел IDE.
Что ж, без лишних слов перейдем к видеообзору самых заметных изменений.
Подробное описание всех новых фич вы найдете на странице «Что нового». Обязательно туда загляните!
Ниже перечислены основные нововведения версии 2021.1.
Главные изменения
Наша новая платформа для разработки и командного взаимодействия Space теперь интегрирована с IntelliJ IDEA. После того как вы вошли в свою организацию в JetBrains Space, вы сможете просматривать и клонировать репозитории проектов, ревьюить код своих коллег и писать скрипты автоматизации Space.
Появилась поддержка WSL 2 для Java-проектов.
Сервис для совместной разработки и парного программирования Code With Me теперь доступен из коробки, а кроме того, в нем появилась поддержка видео- и аудиозвонков.
Новая функция Run Targets позволяет запускать, тестировать, профилировать и отлаживать приложения в Docker-контейнерах и на удаленных компьютерах.
Взаимодействие с IDE
В IDE добавлен встроенный браузер для превью HTML-файлов. Превью обновляется в реальном времени при редактировании HTML-кода или связанных файлов CSS и JavaScript.
Внешние зависимости можно включать в область поиска и исключать из нее.
Мы расставили лейблы на элементах пользовательского интерфейса и полях редактора, и теперь они корректно обрабатываются программами чтения с экрана.
IDE автоматически включит высококонтрастную тему при первом запуске, если в Windows выбран режим высокой контрастности.
Работая в Windows, теперь вы можете открывать недавние проекты, кликнув правой кнопкой мыши по значку IntelliJ IDEA на панели задач или в меню Пуск.
Системы контроля версий
В этом релизе представлены обновления для работы с пул-реквестами: ускорился процесс их создания, появилась возможность быстро открывать diff в редакторе и добавилась поддержка шаблонов пул-реквестов.
Появилась поддержка шаблонов Git-коммитов, и в них можно вносить любую информацию, которая должна быть в сообщении коммита.
Теперь можно просто выбрать профиль инспекций кода перед коммитом. Нажмите на значок шестеренки, чтобы открыть параметры коммита, отметьте галочкой Analyze code, кликните Choose profile и выберите нужный профиль.
С помощью нового действия рядом с Show diff в диалоге Compare with branch можно получить файл из другой ветки.
Новое действие Save to Shelf позволяет скопировать изменения на вкладку Shelf, сохранив их при этом в локальной истории.
Perforce-плагин теперь полностью совместим с IntelliJ IDEA Community Edition и поставляется вместе с IDE.
Редактор
Благодаря новым настройкам типографики можно регулировать толщину обычных и жирных шрифтов в меню Preferences / Settings | Editor | Fonts.
Когда в редакторе открыто несколько вкладок в режиме Split, любую из них можно развернуть двойным кликом.
IDE поддерживает выражения JSONPath с синтаксисом Goessner и Jayway. Теперь через меню Edit | Find можно вызывать новое действие Evaluate JSONPath Expression для написания и тестирования JSONPath-запросов.
IntelliJ IDEA поддерживает формат JSON Lines и распознает файлы с расширениями .jsonl, .jslines, .ldjson и .ndjson.
Профилировщик
Мы переработали интерфейс профилировщика и добавили два новых действия, которые вызываются щелчком правой кнопки мыши по запущенному приложению. Действие Capture Memory Snapshot позволяет делать HPROF-снэпшоты ваших приложений, а CPU and Memory Live Charts открывает вкладку с инструментами для отслеживания и визуализации потребления ресурсов.
Java
В IntelliJ IDEA появилась базовая поддержка Java 16, вышедшей в марте этого года.
Мы добавили новые инспекции, в том числе и для анализа потока данных.
Появились новые настройки, благодаря которым методы Builder, вызываемые по цепочке, стало проще читать.
Kotlin
Анализ кода обнаруживает ошибки и показывает предупреждения намного быстрее.
Если вы пользуетесь функциями, которые требуют параметров типов, в IDE есть функция добавления правильного параметра типа в предшествующий код.
Диаграммы классов UML теперь работают для Kotlin-кода, компилируемого под JVM.
Собственный инструмент анализа покрытия кода в IntelliJ IDEA теперь полностью поддерживает Kotlin во встроенных функциях и корутинах.
Отладчик IntelliJ IDEA вычисляет get-выражения в Kotlin и показывает их на вкладке Variables.
Мы переработали интерфейс рефакторинга Change Signature: там появился новый флажок, и теперь добавленный параметр можно сделать параметром по умолчанию.
JavaScript
Исправлять ошибки в коде с помощью Stylelint стало проще: просто наведите указатель мыши на проблемное место в файле или поместите туда курсор и нажмите Alt+Enter, а затем выберите Stylelint: Fix current file.
Документация MDN для JavaScript API, HTML и CSS теперь встроена в IDE, что значительно ускоряет работу с документами.
Появилась возможность проверять специфичность селекторов при работе с файлами стилей.
Scala
Подсказки о несоответствии типа (Type Diff) теперь поддерживают род.
В новой версии для Scala доступно автодополнение на основе алгоритмов машинного обучения.
Чтобы вы могли получить более полное представление о компиляции, на диаграммах компиляции, помимо модулей, теперь отображаются фазы и единицы.
Плагин sbt-idea позволяет разрабатывать плагины для платформы IntelliJ с использованием Scala и sbt. В мастере проектов появился новый шаблон, который делает этот процесс еще проще (функциональность зависит от Plugin DevKit).
Инструменты для работы с базами данных
Мы добавили интерфейс для изменения прав доступа при редактировании объектов. Это обновление доступно для PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server и Sybase.
Добавлены шаблоны Live Templates, с помощью которых можно генерировать простые операторы прямо из проводника баз данных.
Упростилась навигация: действие Go to declaration (Ctrl/Cmd+B), вызванное для объекта в SQL, теперь открывает DDL, а не проводник базы данных.
Мы улучшили сортировку данных.
Появилась возможность копировать, вырезать и вставлять источники данных при помощи всем известных сочетаний клавиш Ctrl/Cmd+C/V/X.
Теперь вы можете редактировать данные в коллекциях MongoDB. Также доступен предпросмотр запросов.
Инструменты сборки
Мы вернули возможность менять настройки при импорте Maven-проектов.
Фреймворки и технологии
Новая инспекция подсвечивает случаи использования протокола http:// и предлагает их заменить на https://.
Обновился HTTP-клиент. Можно свернуть возвращенный HTML, JSON или XML, скопировать тело ответа, скрыть номера строк, выбрать формат отображения и быстро прокрутить ответ вверх или вниз.
Если для протоколов https:// вы используете SSL-аутентификацию клиентов, настроить SSL можно в HTTP-клиенте.
Чтобы создать проект Spring, Micronaut, Quarkus или MicroProfile, достаточно выполнить всего два шага. Всю важную информацию можно ввести на первом экране обновленного мастера, а на втором — задать настройки, зависящие от фреймворка.
В поле редактора для проектов, включающих сущности JPA, появились обновленные и интерактивные значки. Мы также улучшили поддержку JPA для Kotlin и многомодульных проектов.
В проектах Jakarta EE 9 для написания и выполнения запросов JPQL теперь можно использовать JPA-консоль.
Хорошая новость для тех, кто пользуется светлой темой: у UML-диаграмм появилась новая цветовая схема.
Swagger поддерживает спецификации со ссылками на внешние файлы ($ref) и больше узлов на панели Structure для файлов спецификаций.
Мы добавили экспериментальный инструмент для обнаружения DOM-элементов в веб-приложениях. Его можно открыть в меню Tools | Generate Selenium Page Object.
Другие изменения
В IntelliJ IDEA Community Edition встроена поддержка общих индексов, находящихся в свободном доступе.
IntelliJ IDEA поддерживает все нововведения Android Studio 4.1.1.
В IntelliJ IDEA теперь можно импортировать настройки фасетов OSGI из bnd-maven-plugin.
Впечатляющий список, не правда ли? Мы надеемся, что все эти новые возможности и исправления вам понравятся и повысят эффективность вашей работы.
Программируйте с удовольствием!