IntelliJ IDEA 2021.2

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

Привет, Хабр!

Вышел наш летний релиз — IntelliJ IDEA 2021.2! Обновление можно скачать с нашего сайта или в Toolbox App. Кроме того, можно обновиться из самой IDE или с помощью snap-пакета, если вы являетесь пользователем Ubuntu.

В новой версии IDE появилось множество разнообразных новых функций, благодаря которым работать с IntelliJ IDEA станет проще и приятнее. В основном эти изменения разрабатывались с учетом информации в баг-трекере: полученная обратная связь — наш основной источник информации о ваших потребностях и возникающих сложностях. Мы будем очень благодарны за отзывы о новой версии и за помощь в устранении ошибок, с которыми вы можете столкнуться.

О самых важных изменениях рассказывается в видеообзоре:

Как всегда, подробную информацию обо всех новых возможностях вы найдете в серии статей в блоге и на странице «Что нового».

В этой статье дан краткий обзор важнейших новых функций и улучшений в версии 2021.2.

Главные изменения

  • Новая функция анализа кода в масштабе всего проекта позволяет найти ошибки в небольших и средних проектах перед их компиляцией. Эта функция доступна только в IntelliJ IDEA Ultimate.

  • Мы добавили в IDE несколько действий, которые могут выполняться при сохранении изменений в проекте, в том числе форматирование кода и оптимизацию импортов. Эти действия собраны в меню Preferences / Settings | Tools | Actions on Save.

  • Управлять зависимостями Maven и Gradle стало проще с помощью нового интерфейса Package Search. Кроме того, теперь можно посмотреть, есть ли новые версии зависимостей, и при необходимости обновить их прямо из редактора.

Редактор

  • Описания инспекций и быстрых исправлений стали полнее. В некоторых описаниях приведены примеры использования.

  • Диаграммы стали информативнее: их можно просматривать в режиме Structure, который представляет собой схему диаграммы с возможностью предпросмотра выбранного блока и его соседей.

  • Уведомление об авторских правах на проект по умолчанию включает в себя как год создания проекта, так и год текущей версии.

  • Улучшена поддержка Markdown: теперь можно конвертировать файлы .md в различные форматы, настраивать размер изображений и вставлять изображения путем перетаскивания. Кроме того, мы исправили ошибки форматирования списков и добавили новую плавающую панель инструментов, которая активируется, только когда она вам нужна.

Взаимодействие с IDE

  • Новая версия IntelliJ IDEA автоматически находит проекты Eclipse, хранящиеся на локальной машине, поэтому теперь их можно открыть прямо из папки на приветственном экране.

  • В новом узле Advanced Settings в меню Preferences/Settings доступны продвинутые настройки для IDE.

  • Упорядочить окна стало проще: просто нажмите на заголовок и перетащите в любую выделенную область внутри основного окна IDE или за его пределы в отдельное окно.

  • IntelliJ IDEA автоматически очищает директории кэша и журналов, обновлявшиеся более 180 дней назад.

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

  • Мы упростили перемещение между разделами Preferences/Settings: в правом верхнем углу окна появились удобные стрелки.

  • IDE сообщит о появлении обновлений для любых продуктов, если вы используете Toolbox App 1.20.8804 или более поздней версии.

  • Мы добавили новые специальные возможности для пользователей macOS: озвучили варианты автодополнения кода, выбранного пункта в поле со списком и всего списка целиком, а также результаты поиска при использовании функции Search Everywhere.

  • В этой версии устранена проблема зависания интерфейса при использовании контекстных меню, всплывающих окон и панелей инструментов. Кроме того, мы вынесли из потока пользовательского интерфейса некоторые операции, требующие индексации.

Java

  • Можно различными способами разметить публичные, защищенные и частные методы, поля и классы Java. Чтобы настроить разметку, перейдите в Preferences/Settings | Editor | Color Scheme и разверните узел Visibility.

  • Мы добавили новый визард для создания JavaFX проектов.

  • Для отдельных сценариев использования при анализе потока данных мы добавили несколько новых инспекций, в том числе для отслеживания диапазона чисел с плавающей точкой или размера коллекции для методов обновления.

Kotlin

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

  • Вам не нужно ждать завершения анализа кода, чтобы выполнить тесты: их можно запустить сразу после открытия файла, нажав на значок Run test в редакторе.

  • К агенту корутин можно перейти через вкладку Coroutines в окне Debug. Он работает для конфигураций запуска Java с зависимостью от kotlinx.coroutines, а также для конфигураций запуска Spring и Maven.

  • Теперь кнопки, связанные с Run/Debug Configurations, активны во время индексации, и вы можете запустить приложение и выполнять его отладку, пока IDE индексирует проект.

  • Мы обеспечили поддержку WSL 2 и реализовали функцию Run Targets для Kotlin.

  • Добавлена новая инспекция, позволяющая IntelliJ IDEA упростить синтаксис и объединить цепочку из нескольких вызовов методов внутри коллекции.

  • Мы добавили новое intention-действие для преобразования buildString.

JavaScript (только в IntelliJ IDEA Ultimate)

  • При предварительном просмотре HTML-файлов в браузере IDE автоматически отображает все сделанные и сохраненные изменения в HTML-файле или связанных с ним файлах CSS и JavaScript.

  • IntelliJ IDEA может одновременно переименовывать значения useState и соответствующие функции в React hooks.

  • Прежние версии IDE умели добавлять отсутствующие операторы импорта при вводе символов в модулях ES6. Теперь то же самое возможно для модулей CommonJS: при автодополнении кода будет вставлен оператор require.

Scala

  • Значительно улучшена поддержка Scala 3. Индексация выполняется быстрее и точнее, а также теперь можно создавать проекты Scala 3 на основе sbt и .idea. Помимо Scala 3 SDK, мы обеспечили поддержку конструкций Scala 3 в проектах Scala 2 (-Xsource:3) и сделали много других улучшений.

  • Чтобы избежать появления ложных ошибок, для подсветки ошибок можно использовать возможности компилятора. Однако нужно помнить, что этот вариант точнее, но медленнее, требует больше ресурсов и не поддерживает такие функции, как подсказки о несоответствии типов, быстрые исправления и инспекции.

Профилировщик (только в IntelliJ IDEA Ultimate)

  • В новой версии IntelliJ IDEA обеспечена полная поддержка профилировщика в Windows и Apple M1 в дополнение к Linux и macOS на других чипах. Таким образом, теперь профилировщик можно использовать в большинстве сред.

  • IDE поддерживает Async Profiler 2.0, объединяющий возможности профилировщиков ЦП и распределения ресурсов. Он работает с использованием новой конфигурации Async Profiler.

  • Теперь на вкладке Retained Objects данные выбранного объекта отображаются в виде диаграммы «солнечные лучи».

Инструменты сборки

  • При работе с пользовательской JDK можно добавлять новые артефакты JLink.

  • Теперь в WSL 2 можно выполнять задания Ant.

  • Конфигурации запуска и отладки Gradle были усовершенствованы. Мы собрали все основные настройки в одном окне, и при необходимости туда можно добавить и другие параметры.

  • Скорость индексации проектов в WSL 2 увеличена.

Система контроля версий

  • Теперь можно тестировать изменения, которые вы внесли, перед их коммитом.

  • Раньше ход и результаты всех проверок перед коммитом отображались в отдельных модальных окнах. В новой версии информация выводится в области Commit.

  • В IntelliJ IDEA 2021.2 можно защитить коммиты в Git с помощью цифровой подписи GPG.

  • Узел, где хранятся изменения до коммита, в новых проектах называется Changes, а не Default changelists. Кроме того, операции Git больше будут автоматически создавать списки изменений.

  • При выполнении действия Show Diff окно с результатами будет по умолчанию открываться в редакторе.

  • Стало удобно искать текст в локальной истории изменений: просто введите запрос в поле поиске в диалоговом окне Local History.

Терминал

  • Во встроенном терминале появились две новые возможности: выбор формы курсора и использование клавиши Option (⌥) в качестве мета-модификатора других клавиш.

Отладчик

  • Вкладка Preview теперь доступна в отладчике. Если эта функция включена, IDE открывает файлы друг за другом в одной вкладке, когда вы останавливаете выполнение кода в точке останова, выполняете код пошагово, переключаетесь между фреймами или используете действия prev/next frame.

Фреймворки и технологии (только в IntelliJ IDEA Ultimate)

  • В окне Endpoints можно вывести схему связей микросервисов, где можно проследить, какой клиент вызывает тот или иной сервис, и перейти к соответствующему вызову в коде. Схема доступна для проектов Java и Kotlin, если вы используете фреймворки Spring, Micronaut, Quarkus или Helidon.

  • Новый рефакторинг Migrate позволяет легко перенести проект или модуль с Java EE на Jakarta EE.

  • Если вы создаете новый проект Spring Initializer, IDE автоматически скачает заранее построенные индексы. Это позволяет сократить время на индексацию и ускоряет запуск IDE.

  • Мы реализовали поддержку графа сущностей JPA, который можно определить с помощью аннотации @NamedEntityGraph. Для атрибутов аннотации работает автодополнение кода, обнаружение ошибок и навигация.

  • Мы добавили поддержку аннотаций кэширования в Micronaut и Quarkus. С помощью значков редактора можно перемещаться между использованиями имени кэша, использовать действие Find usages и рефакторинг Rename для идентификаторов кэша.

  • Навигация по URL-адресам в JavaScript и TypeScript значительно улучшена как для клиентского (Angular или Axios), так и для серверного (Express) кода.

  • Плагин Protocol Buffers интегрирован с IntelliJ IDEA Ultimate, и команда JetBrains теперь обеспечивает его полную поддержку.

  • IntelliJ IDEA Ultimate поддерживает фреймворк gRPC. Первая возможность, которую мы реализовали — просмотр определений сервисов gRPC в окне Endpoints.

  • В новой версии проекты Ktor можно создавать прямо на начальном экране: в IntelliJ IDEA Ultimate встроена поддержка этого фреймворка.

Интеграция со Space

  • Теперь на вкладке Log окна Git можно использовать значки для статусов заданий Space. При нажатии на значок откроется всплывающее окно с автоматической информацией о задании.

  • Во время ревью кода в Space можно упомянуть коллегу: для этого нужно ввести @, а затем имя нужного человека.

  • В новой версии IDE можно отобразить связанные ветки в выбранном ревью кода на вкладке Details .

Code With Me

  • Во время сеанса работы в Code With Me в режиме Following можно видеть предложения функции автодополнения кода, которые использует коллега, за чьей работой вы следите.

  • Переработанная логика Undo позволяет как ведущему разработчику, так и гостям отменять только собственные изменения в коде. Это особенно полезно при парном и групповом программировании.

  • В версии 2021.2 можно продемонстрировать коллегам окно любого приложения на экране компьютера, а не только окно IDE JetBrains.

  • Пользователи могут поделиться с другими участниками сеанса открытыми портами — для этого используется встроенный прокси. Если ведущий запускает приложения, используя определенный порт, остальные могут получить к нему доступ через локальный хост на своих машинах.

Инструменты работы с базами данных (только в IntelliJ IDEA Ultimate)

  • В новой версии можно создать источник данных DDL на основе обычного. Локально создаются файлы DDL, а на их основе — новый источник данных.

  • Теперь в меню Preferences/Settings | Tools | Database | General можно выбрать, после каких операций будет появляться окно Services.

  • Автодополнение кода теперь работает для различных типов полей и операторов в консоли MongoDB.

Инструменты QA

  • Новый плагин Test Data позволяет выполнять множество действий для генерации случайных данных для юнит-тестов.

Docker

  • К Docker можно подключиться через SSH.

  • В журналах контейнера можно настроить показ меток времени и предыдущих сеансов.

  • Новые кнопки действий для контейнеров позволяют быстро запускать и перезапускать их, а также приостанавливать и возобновлять их работу. Все эти действия можно выполнить сразу для нескольких контейнеров.

  • Мы реализовали новый способ удаления изображений с существующими зависимостями. Теперь можно указать, какие зависимости следует удалить, а какие — сохранить.

  • В окне Services появились два новых узла: Networks и Volumes.

Добавлены новые возможности для Docker Compose:

  • Приложения Docker Compose можно отобразить в окне Services, даже если они не запущены. Для этого надо нажать на кольцевые стрелки в окне редактора.

  • Новые значки помогают понять, в каком состоянии находится сервис. Подсказки помогут понять значение каждого значка.

  • Теперь у каждого узла сервиса есть журнал.

  • В настройках Run/Debug Configurations появились новые параметры Docker Compose, в том числе Enable BuildKit, Enable compatibility mode и Specify project name.

  • Мы добавили поддержку формата файлов Docker Compose версии 3.

Kubernetes (только в IntelliJ IDEA Ultimate)

  • В IntelliJ IDEA 2021.2 реализована полная поддержка поля alias в разделе dependencies в Chart.yaml (api v2) или requirements.yaml (api v1).

  • Если у вас есть права доступа лишь к некоторым пространствам имен в кластере, вы можете определить собственные пространства имен.

  • Можно указать избранные пространства имен, которые будут отображаться в начале списка.

Другие возможности

  • Начиная с этой версии, пользовательский интерфейс IntelliJ IDEA полностью локализован на китайский, корейский и японский языки. Локализованный интерфейс можно скачать в виде плагинов с отдельными языковыми пакетами, которые легко установить в IDE.

  • Плагин Android обновлен до версии 4.2.0.

  • Мы убрали из комплекта поставки IntelliJ IDEA следующие плагины: Resource Bundle Editor, Drools, JSP Debugger Support, CoffeeScript, Spring Web Flow, Spring OSGI, Arquillian, AspectJ, Guice, Helidon, Emma и EJB.

Мы рассказали об основных изменениях, появившихся в IntelliJ IDEA 2021.2. Надеемся, что новые возможности помогут вам в работе. В комментариях к этой статье можно рассказать нам, что вы думаете о новой версии решения. Обо всех ошибках сообщайте через наш баг-трекер.

Программируйте с удовольствием!

Источник: https://habr.com/ru/company/JetBrains/blog/570518/


Интересные статьи

Интересные статьи

Часто при разговорах с клиентами мы спрашиваем, как они ведут учет различных данных и используют ли они CRM-систему? Популярный ответ — мы работаем с Excel-файлами, а пот...
Выгрузка пользователей из 1C ЗУП в Битрикс24 или правдивая история о том как настроить интеграцию 1С-Битрикс24 с ЗУП без 1С-ника В жизни так бывает, причём бывает чаще чем хотелось б...
Привет, Хабр. Я работаю QA Automation инженером в компании Wrike и хотел бы поговорить о том, как нам удалось оптимизировать процесс код-ревью для репозитория с 30 000+ автотестов при...
Многие компании в определенный момент приходят к тому, что ряд процессов в бизнесе нужно автоматизировать, чтобы не потерять свое место под солнцем и своих заказчиков. Поэтому все...
Битрикс24 — популярная в малом бизнесе CRM c большими возможностями даже на бесплатном тарифе. Благодаря API Битрикс24 (даже в облачной редакции) можно легко интегрировать с другими системами.