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

В IntelliJ IDEA 2019.3 вас ждут значительные улучшения производительности, в том числе более быстрый запуск IDE. Мы упростили установку некоторых плагинов и процесс работы с VCS, а также добавили поддержку MongoDB, фреймворков для разработки микросервисов и подготовили для вас много других улучшений.

Оптимизация производительности

Ускоренный запуск

Ускоренный запуск

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

Сокращенное потребление памяти

Сокращенное потребление памяти

В IntelliJ IDEA 2019.3 мы оптимизировали производительность и снизили пиковое потребление памяти при импорте больших Gradle-проектов.

Отзывчивый интерфейс

Нам удалось устранить более 1600 зависаний интерфейса, о которых вы сообщили. Кроме того, мы исправили проблемы с редактированием файлов POM.xml в Maven-проектах: теперь IDE предлагает варианты автодополнения без задержек. Другие исправления позволили ускорить обработку обновлений статуса VCS в больших проектах, сократить время обработки игнорируемых файлов и открытия дерева проекта и улучшить производительность по многим другим направлениям. Например, IDE работает быстрее, когда в редакторе или отладчике открыто много вкладок.

Улучшения производительности для Java

В этой версии реализовано много улучшений для вывода типов в Java: мы не только устранили различные зависания редактора, но и ускорили вывод типов для длинных цепочек вызовов методов. Объединение нескольких строк с помощью действия Join Lines происходит быстрее. Подсветка синтаксиса Java тоже работает быстрее, особенно это касается методов с generic varargs, которые могут содержать десятки аргументов.

Улучшения производительности для Kotlin

Благодаря поддержке Kotlin 1.3.60 удалось добиться значительных ускорений, например, подсветка синтаксиса в редакторе теперь работает быстрее.

Удобное взаимодействие

Ускоренный запуск

Ускоренный запуск

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

Сокращенное потребление памяти

В IntelliJ IDEA 2019.3 мы оптимизировали производительность и снизили пиковое потребление памяти при импорте больших Gradle-проектов.

Плавная прокрутка

Небольшое, но очень полезное улучшение: прокрутка колесиком мыши стала намного более плавной.

Автоматическая настройка импортированных проектов Maven и sbt

При импорте, создании или открытии проектов Maven или sbt больше не нужно настраивать параметры вручную — IntelliJ IDEA сделает это автоматически.

Обновленные контекстные действия

В диалоге Intention Actions теперь отображаются все интеншены, доступные по умолчанию, даже после того как вы выбрали нужное действие и закрыли диалог.

Улучшенная функциональность

Расширенная поддержка Java 13

Расширенная поддержка Java 13

Мы расширили поддержку текстовых блоков Java 13: они автоматически форматируются при добавлении третьей пары кавычек.

Фрагменты кода на языках шаблонов

Фрагменты кода на языках шаблонов

IntelliJ IDEA 2019.3 поддерживает вставки фрагментов кода на новых языках шаблонов, в частности Pug (ранее — Jade), Handlebars, EJS и Slim.

Новое действие Field Call Hierarchy

Новое действие Field Call Hierarchy

Теперь есть простой способ просмотреть иерархию вызовов для выбранного поля: используйте новое действие Field Call Hierarchy (Ctrl+Alt+H).

Отображение ошибок и документации в одном окне

Отображение ошибок и документации в одном окне

Во всплывающем окне, которое показывает ошибку при наведении курсора на символ, подсвеченный инспекцией, можно включить отображение справочной информации о коде. Для этого выберите опцию Show quick documentation on mouse move в меню Settings/Preferences | Editor | General.

Упрощенный процесс получения веток из репозитория

Упрощенное получение веток из репозитория

Чтобы избежать путаницы, вместо действия Checkout as... появилось новое универсальное действие Checkout. При вызове этого действия для удаленной ветки IDE создает новую локальную ветку, извлекает ее из репозитория и включает отслеживание выбранной удаленной ветки. Еще мы добавили действие New Branch from Selected для локальных и удаленных веток, которое создает новую локальную ветку и извлекает ее, но не включает отслеживание какой-либо удаленной ветки.

Простой способ отправить изменения из ветки

Простой способ отправить изменения из ветки

Вам больше не нужно загружать ветку, чтобы отправить изменения: просто выберите нужную ветку в окне Branches и нажмите Push.

Обновленный диалог Clone

Обновленный диалог Clone

Мы переработали диалог Clone и сделали единый интерфейс для скачивания проектов с различных VCS-хостингов. Если вы уже вошли в свой аккаунт, IDE покажет список доступных репозиториев, поэтому вам больше не нужно вводить URL-адрес репозитория.

Информация о причинах конфликтов слияния

Информация о причинах конфликтов слияния

При возникновении конфликтов во время действий merge, rebase и cherry-pick теперь можно подробнее узнать об источнике изменений в диалоге Merge. Просто нажмите Show Details, чтобы просмотреть список коммитов, которые привели к текущему состоянию кода.

Новые фреймворки и технологии

Поддержка фреймворков для создания микросервисов Ultimate

Чтобы ваши проекты шли в ногу с современными технологиями, в IntelliJ IDEA 2019.3 появилась начальная поддержка фреймворков Micronaut, Quarkus и Helidon. Для тех, кто использует микросервисную архитектуру в Java-проектах, теперь доступна помощь при написании кода, инспекции, поиск использований, навигация и другие умные возможности IDE.

Поддержка OpenAPI и Swagger

Поддержка OpenAPI и Swagger Ultimate

В IntelliJ IDEA появилась поддержка Swagger v2 и OpenAPI v2. Она включает в себя проверку на соответствие схеме, а также автодополнение, навигацию, поиск и рефакторинг Rename в YAML/JSON-файлах, содержащих описания API.

Новое окно Endpoints

Новое окно Endpoints Ultimate

В новом окне Endpoints вы можете просмотреть все клиентские и серверные API, используемые в проекте для протоколов HTTP и Web Socket. Более того, вы можете расширить это представление на все проекты, открытые в IntelliJ IDEA в данный момент.

Поддержка Spring Web Flux

Поддержка Spring Web Flux Ultimate

Вы можете просмотреть полный список сопоставления URL-адресов Web Flux на вкладке MVC в окне Spring, переходить между ними и использовать помощь при написании кода, рефакторинг Rename и возможности поиска для URL-адресов и их сегментов.

Поддержка HTTP-клиентов Java

Поддержка HTTP-клиентов Java Ultimate

IntelliJ IDEA 2019.3 поддерживает работу с URL в следующих API HTTP-клиентов Java: java.net. {URI/URL}, Retrofit v2, OkHttp v3. Помощь при написании кода, навигация, поиск использований — все привычные функции IDE теперь доступны для работы с HTTP-клиентами.

Поддержка Project Reactor Ultimate

Для проектов Java и Kotlin Reactor доступны инспекции, которые обнаруживают вызовы методов, блокирующих поток, во фрагментах кода, где поток выполнения останавливаться не должен. IDE предупредит о возможном возврате нулевого значения из лямбда-операторов в методах Flux и Mono. Кроме того, в IntelliJ IDEA предусмотрен специальный режим отладки Reactor, в котором можно просматривать реактивный стек вызовов и значениях промежуточных переменных.

Поддержка MongoDB Ultimate

В IntelliJ IDEA 2019.3 появилась долгожданная поддержка MongoDB. После добавления источника данных MongoDB в проводнике баз данных будут отображаться коллекции и поля, вы сможете выполнять запросы и просматривать их результаты. В дальнейшем мы планируем расширять поддержку MongoDB.

Исправления

  • IDE теперь может обнаруживать каталог, в который Gradle был установлен через Homebrew.
  • За счет изменений в интерфейсе стало проще устанавливать домашний каталог Gradle вручную.
  • IntelliJ IDEA теперь поддерживает хранение паролей в KWallet на Linux.
  • Для проектов JavaFX IDE может отображать файл FXML со встроенным Scene Builder на вкладке Scene Builder.
  • Диалог Authentication Required для SVN больше не появляется, если SVN-сервер недоступен.
  • Исправлены проблемы, связанные с выполнением операции git update с rebase.
  • При индексации Git-лога теперь отображается индикатор выполнения.
  • В окне файловой истории и в аннотациях VCS можно выбрать отображение времени создания изменения или времени коммита.

И еще 1679 исправлений, за которые проголосовали 3904 пользователя.