IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Публикации и ответы на комментарии в блогах JetBrains не выходят на русском языке с 2022 года.
Приносим извинения за неудобства.
Вышла 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 стало проще с помощью нового эффективного интерфейса пакетного поиска. Кроме того, теперь можно посмотреть, есть ли новые версии зависимостей, и при необходимости обновить их прямо из редактора.
Редактор
- Описания инспекций и быстрых исправлений стали полнее. В некоторых описаниях приведены примеры использования.
- Диаграммы стали информативнее: их можно просматривать в режиме 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 с зависимостью от coroutines, а также для конфигураций запуска Spring и Maven.
- Теперь кнопки, связанные с Run/Debug Configuration, активны во время индексации, и вы можете запустить приложение и выполнять его отладку, пока 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 теперь работает в отладчике. Вкладка Preview теперь работает в отладчике. Если эта функция включена, IDE открывает файлы друг за другом в одной вкладке, когда вы останавливаете выполнение кода в точке останова, выполняете код пошагово, переключаетесь между фреймами или используете действия prev/next frame.
Фреймворки и технологии (только в IntelliJ IDEA Ultimate)
- В окне Endpoints можно вывести схему связей микросервисов, где можно проследить, какой клиент вызывает тот или иной сервис, и перейти к соответствующему вызову в коде. Схема доступна для проектов Java и Kotlin, если вы используете фреймворки Spring, Micronaut, Quarkus или Helidon.
- Новый рефакторинг Migrate позволяет легко перенести проект или модуль с Java EE на Jakarta EE.
- Если вы создаете новый проект Spring Initializer, IDE автоматически скачает заранее построенные индексы. Это позволяет сократить время на индексацию и ускоряет запуск IDE.
- Мы реализовали поддержку графа сущностей, который можно определить с помощью аннотации @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.
- Пользователи могут поделиться с другими участниками сеанса открытыми портами — для этого используется встроенный прокси. Если ведущий запускает приложения, используя определенный порт, остальные могут получить к нему доступ через локальный хост на своих машинах.
- Недавно Code With Me запустил два новых сервера ретрансляции: один на западном побережье США, второй — в ЮАР. Это значительно ускорило совместную разработку в этих регионах.
Инструменты работы с базами данных (только в 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 в yaml (api v2) или requirements.yaml (api v1).
- Если у вас есть права доступа лишь к некоторым пространствам имен в кластере, вы можете определить собственные пространства имен.
- Можно указать избранные пространства имен, которые будут отображаться в начале списка.
Другие возможности
- Начиная с этой версии, пользовательский интерфейс IntelliJ IDEA полностью локализован на китайский, корейский и японский языки. Локализованный интерфейс можно скачать в виде плагинов с отдельными языковыми пакетами, которые легко установить в IDE.
- Плагин Android обновлен до версии 4.2.0.
- Мы убрали из комплекта следующие плагины: Resource Bundle Editor, Drools, JSP Debugger Support, CoffeeScript, Spring Web Flow, Spring OSGI, Arquillian, AspectJ, Guice, Helidon, Emma и EJB.
Важные исправления
- Исправлена ошибка, появлявшаяся при нажатии на Download sources в проектах Maven. [IDEA-247792]
- Обеспечена поддержка .mvn/jvm.config для определения конфигураций JVM в сборках Maven. [IDEA-205178]
- Исправлено поведение клавиши Esc в некоторых диалоговых окнах. [IDEA-270541]
- Окна в Linux открываются по щелчку мыши. [IDEA-270699]
- Улучшена производительность покрытия кода — она сравнялась с JaCoCo.
- Исправлена неверная кодировка в файлах .properties. [IDEA-266551]
- IDE автоматически удаляет пустые скретч-файлы. [IDEA-194931]
- Исправлена ошибка, из-за которой IDE зависала в диалоговом окне миграции плагинов после удаления конфигураций и перезапуска. [IDEA-270855]
- Исправлена ошибка NullPointerException при создании нового проекта Maven из существующих источников в директории WSL 2. [IDEA-265641]
- Исправлена ошибка, из-за которой неправильно отображались диалоговые окна подтверждения. [IDEA-271191]
- Если при извлечении константы поставлен флажок Replaces all the occurrences, IDE запоминает этот состояние и сохранит настройки, когда вы в следующий раз примените этот рефакторинг. [IDEA-162111]
- Исправлен ряд ошибок, влиявших на вычисление переменных в коде Kotlin. [KTIJ-7604], [KTIJ-3018], [KTIJ-2425], [KTIJ-302].
- Объекты Kotlin корректно отображаются в режиме просмотра Variables. [KTIJ-780]
- Исправлена ошибка соединения с серверами ретрансляции, которые не работали, когда использовался прокси с аутентификацией. [CWM-2712]
Мы рассказали об основных изменениях, появившихся в IntelliJ IDEA 2021.2. Полный список всех новых возможностей, исправлений и улучшений приведен в примечаниях к релизу.
Надеемся, что новые возможности помогут вам в работе. В комментариях к этой статье можно рассказать нам, что вы думаете о новой версии решения. Обо всех ошибках сообщайте через баг-трекер.
Программируйте с удовольствием!
Ваша команда IntelliJ IDEA
The Drive to Develop
Автор оригинальной статьи: