Встречайте IntelliJ IDEA 2020.2!

Oksana Mandryka

В IntelliJ IDEA 2020.2 много нового: теперь можно управлять пул-реквестами GitHub прямо из IDE, просматривать полный список проблем с текущим файлом в специальном окне и быстро навигироваться по ошибкам и предупреждениям с помощью нового виджета. Если внесенные изменения привели к ошибкам в других файлах, IDE об этом сообщит. Кроме того, IntelliJ IDEA 2020.2 поддерживает Jakarta EE и предоставляет новые возможности для работы с Quarkus, Micronaut и OpenAPI.

Java

  • Java 15 выйдет только в сентябре, а IntelliJ IDEA 2020.2 уже готова к этому. Мы улучшили поддержку записей (records), добавили базовую поддержку запечатанных классов (sealed classes) и полностью поддержали текстовые блоки.
  • Если изменение Java-метода или поля привело к ошибкам в других файлах, IDE мгновенно сообщит об этом. Нажмите на подсказку, и IntelliJ IDEA покажет список ошибок и предложит их исправить.
  • Если во время работы приложения возникнет исключение, IDE применит статический анализ, чтобы выяснить причину и определить, какое именно выражение вызвало исключение.
  • Теперь можно легко создать инспекцию из структурного поиска, добавить к ней описание и указать уровень серьезности.
  • Рефакторинг Introduce Variable работает более гибко: теперь можно выбрать разные варианты замены для разных случаев (раньше можно было заменить либо одно, либо все вхождения).
  • Теперь, когда вы начнете вызывать метод Stream API на коллекции/массиве, IDE автоматически подставит stream().
  • Еще одно улучшение Stream API: теперь в цепочках вызовов автодополнение предлагает методы ожидаемого типа.
  • Новое действие позволяет преобразовать optional chain в цепочку if-выражений.
  • Вы можете свернуть несколько операторов в цикл, а intention-действие Unroll loop теперь берет размер цикла из потока данных.
  • Механизм анализа потока данных сообщит о нетипичных выражениях, которые вычисляются в 0, и предупредит о ненужных сравнениях, когда Math.min или Math.max не бывает больше или меньше другого операнда.
  • Мы сгруппировали живые шаблоны для Java под отдельным узлом в Settings/Preferences, чтобы их было проще найти среди остальных.

Узнайте больше об улучшениях для Java на нашем сайте.

Редактор

  • Мы добавили виджет, который показывает количество предупреждений и ошибок в текущем файле и позволяет легко перемещаться между ними.
  • А в новом окне Problems вы увидите список предупреждений и ошибок с описаниями. Можно быстро исправить проблемный код прямо из этого окна.
  • Теперь можно заранее посмотреть, как будет выглядеть код после применения intention-действия.
  • Мы обновили дизайн диалога фоновых процессов — теперь он выглядит аккуратнее.
  • А еще навели порядок в строке состояния.

Подробнее об улучшениях редактора читайте на сайте.

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

  • Теперь все действия по обработке пул-реквестов GitHub можно выполнять прямо из IDE. Вы можете просматривать, назначать и даже объединять пул-реквесты, читать комментарии (как в хронологии, так и в коде), отправлять комментарии и ревью, а также принимать изменения.
  • IntelliJ IDEA 2020.2 поддерживает Git, установленный в WSL2, для работы над проектами, расположенными в файловых системах Linux или Windows.
  • Мы обновили дизайн диалогов Merge, Pull и Rebase — взаимодействовать с ними стало удобнее.
  • Появилась возможность объединять коммиты на вкладке Log.
  • Кроме того, из Git-лога теперь можно удалять коммиты.
  • При сравнении двух веток в IntelliJ IDEA все коммиты отображаются в одном окне.
  • Вместо авторизации в GitHub по паролю с этой версии будет использоваться авторизация по протоколу OAuth.

Подробнее об улучшениях в работе с VCS читайте на сайте.

Фреймворки и технологии

  • Мы добавили поддержку Jakarta EE 9. Вот какие технологии Jakarta EE уже поддерживаются в Intellij IDEA: CDI, JPA, Batch, Bean Validation, JSF, JAX-RS, WebSocket, Servlets, JSP, JSON-P, JSON-B, Security, EJB и JTA.
  • Теперь можно создавать проекты Java EE 8 и Jakarta EE 9 в обновленном мастере проектов.
  • IntelliJ IDEA поддерживает подсветку и автодополнение для файлов конфигурации .properties и YAML в проектах Quarkus.
  • IDE позволяет переходить от файлов свойств Quarkus к настроенным bean-компонентам и обратно. Также можно навигироваться от Java-кода к файлам свойств.
  • В редакторе предусмотрена навигация по встроенным bean-компонентам. Мы также обновили инспекции для работы с упрощенным синтаксисом Quarkus.
  • В тестах REST Assured теперь работает автодополнение URL-адресов и навигация к соответствующим ресурсам.
  • В IDE появилась интеграция с интерфейсом Swagger.
  • IntelliJ IDEA теперь показывает структурные различия между спецификациями OpenAPI.
  • Можно создавать проекты Micronaut в мастере создания проектов.
  • Для приложений Micronaut и Amazon SQS API, в которых используется асинхронная обработка данных через RabbitMQ или Kafka, теперь работает автодополнение имен, поиск использований, и навигация по очередям и темам с помощью значков на поле редактора.
  • IntelliJ IDEA может автоматически генерировать HTTP-запросы JAX-RS и MicroProfile и открывать их во встроенном REST-клиенте.
  • Selenium-плагин теперь поддерживает интеграцию с Selenoid и предоставляет простой способ запуска нового тестового окружения прямо из файла browsers.json.

Подробнее о поддержке фреймворков и технологий читайте на сайте.

Профилировщик

  • Мы улучшили инструмент просмотра памяти HPROF. Теперь он показывает рассчитанные сохраненные размеры объектов, кратчайшие пути к корням сборщика мусора, доминаторное дерево объектов (сохраненные объекты) и входящие ссылки. Подробнее.

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

  • С помощью нового плагина Shared Indexes можно загружать уже построенные индексы, вместо того чтобы создавать их локально. Это позволяет ускорить индексирование больших проектов на 60–75%.
  • Во время индексирования теперь работает автодополнение для Java и PHP.
  • Мы изменили дизайн индикаторов выполнения, сделав их более аккуратными. Строка состояния тоже выглядит по-новому.

Подробнее об этих обновлениях читайте на сайте

Терминал

  • Теперь можно воспользоваться функциями IDE прямо из терминала. Если команда подсвечена в терминале, нажмите Cmd/Ctrl+Enter, чтобы открыть соответствующий инструмент в графическом интерфейсе IDE. Подробнее.

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

  • IntelliJ IDEA 2020.2 поддерживает Maven Wrapper, который автоматически устанавливает необходимую для вашего проекта версию Maven.
  • Раньше было обязательно использовать одну и ту же версию Maven во всех открытых проектах, а теперь можно указать определенную версию Maven для каждого проекта в отдельности.
  • Теперь вывод встроенного инструмента сборки отображается в окне Build, там же, где обычно вы видите результаты сборок Gradle и Maven.
  • IntelliJ IDEA поддерживает автодополнение имен проектов и навигацию от имени проекта к файлам build.gradle.

Подробнее об обновлениях инструментов сборки читайте на сайте.

JavaScript и TypeScript

  • Новые intention-действия (AltEnter) помогут ускорить выполнение некоторых операций. Например, можно быстро преобразовать цикл for с числовым индексом в перебирающий метод forEach.
  • Теперь очень легко использовать Prettier в качестве форматера по умолчанию в JavaScript-проектах: просто отметьте галочкой опцию On code reformat в настройках.
  • Мы добавили поддержку Nuxt.js и специальных настроек стиля кода Vue.

Узнайте больше о нововведениях от команды WebStorm на этой странице.

База данных

  • Теперь можно просматривать и редактировать длинные значения на отдельной панели в режиме Maximize.
  • Просматривать и редактировать ячейки с типом boolean стало гораздо удобнее: вы видите в ячейках значения, а не флажки.
  • Теперь результаты запросов к базе данных можно просматривать в редакторе.
  • Мы добавили начальную поддержку диалекта Google BigQuery. IDE обеспечивает подсветку и автодополнение запросов.

Подробнее об обновлениях инструментов для работы с базами данных читайте на странице What’s new.

Docker

  • IntelliJ IDEA 2020.2 обеспечивает безопасное подключение к Docker на Windows, благодаря поддержке TLS-соединений с демоном Docker.

Узнайте больше об улучшениях в поддержке Docker на сайте.

Kubernetes

  • В настройках Preferences/Settings | Build, Execution, Deployment | Kubernetes теперь можно указать кастомный файл kubeconfig.
  • Мы добавили поддержку редактирования ConfigMaps/Secrets. Более того, IDE теперь берет информацию не только из текущего проекта, но и из кластера.
  • Теперь для объектов ConfigMaps/Secrets и их ключей можно вызвать Find Usages из кластера.

Подробнее об обновлениях в поддержке Kubernetes читайте на сайте.

Scala

  • Добавлен автоматический импорт Implicits. Подробнее
  • В новой версии фигурные скобки автоматически добавляются и удаляются на лету в зависимости от отступов. Подробнее
  • В редакторе появились навигационные значки для компаньонов. Вы также можете перейти к компаньону, вызвав действие Go To на ключевых словах class, trait или object.
  • Мы сделали рендеринг Scaladoc прямо в редакторе — теперь все выглядит четко и аккуратно.
  • Мы также улучшили рендеринг Scaladoc во всплывающем окне Quick Documentation: абзацы, списки и макросы теперь отображаются корректно.
  • Теперь можно сразу подставить и имя метода, и его аргументы, если в текущей области доступа присутствуют соответствующие значения.
  • Кроме того, вы можете применить статическую функцию к аргументу, используя точечную запись, которая может использоваться в сочетании с алгебраическими типами данных.

Подробнее об обновлениях в поддержке Scala читайте на сайте или в блоге.

Android

  • IntelliJ IDEA 2020.2 включает в себя все нововведения из Android Studio 4.0. Подробнее о возможностях новой версии читайте в блоге Android Studio.

Другие изменения

  • Если вы используете программу чтения с экрана, IDE это заметит и автоматически включит функции специальных возможностей.
  • IntelliJ IDEA 2020.2 позволяет использовать эмодзи Unicode на Linux.
  • Мы значительно улучшили производительность удаленной отладки Java-проектов.
  • Мы перешли с JavaFX на JCEF (Chromium Embedded Framework). Начиная с версии 2020.2, больше не будет встроенной поддержки JavaFX, теперь она вынесена в отдельный плагин, который внешние плагины могут использовать в качестве зависимости.
  • У сочетания клавиш Alt+6 (Linux and Windows) / Cmd+6 (macOS) новое назначение: теперь вместо вызова TODO оно открывает окно Problems.
  • С этой версии IntelliJ IDEA не поддерживает запуск и тестирование проектов, написанных на Java 5 и более ранних версиях Java. В редакторе поддержка Java 5 остается.
  • В этом релизе мы убрали из комплекта несколько плагинов, которые используются недостаточно активно: JBoss Seam, JBoss jbpm, Play Framework, Flash/Flex, ASP, CFML и Struts 2.

Полный список изменений, вошедших в IntelliJ IDEA 2020.2, вы найдете в примечаниях к релизу.

Делитесь своими впечатлениями о новой версии в комментариях. Нам важно, что вы думаете. Как всегда, наш форум, баг-трекер и Twitter тоже к вашим услугам.

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

Скачайте IntelliJ IDEA 2020.2 и получите доступ к новым возможностям.

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

Оригинал статьи опубликован на habr.com:
https://habr.com/ru/company/JetBrains/blog/516816/

Подписаться

Подписаться на обновления