JetBrains выпустила мажорное обновление IntelliJ IDEA 2017.3

IntelliJ IDEA 2017.3

Вышло третье в этом году обновление IntelliJ IDEA 2017.3 от JetBrains с поддержкой Java EE 8. Основными нововведениями стали рефакторинги, подсказки, инструменты для работы с Git, навигация, работа с базами данных, поддержка фреймворков и многое другое.

Java

  • автодополнение Smart Completion теперь учитывает приведение типов;

  • множество новых и улучшенных инспекций: обнаружение избыточных деклараций, quick-fix для устаревшего кода, обнаружение возможных проблем с Nullability внутри вызовов методов Stream API и другие;

  • доработана поддержка фреймворка JUnit5;

  • настраиваемые сокращения для командной строки;

  • появилась возможность добавить различные типы конфигураций на Run Dashboard.

Отладчик JVM

  • учет затрат вычислительных ресурсов добавлен на новую вкладку Overhead в окне инструментов отладчика;

  • новая опция On-demand Data Renderers помогает сократить потребление ресурсов. Для ее активации необходимо в контекстном меню на конкретном значении выбрать пункт Mute Renderers;
  • оптимизированы ресурсозатраты для Async Stacktraces, а также Async Stacktraces работают теперь сразу «из коробки»;

Java EE 8

Этот релиз полностью поддерживает стандарт Java EE 8. Для Asynchronous CDI Events, CDI Bean Injection, PushBuilder, Disposes и Produces теперь предлагается навигация по коду, подсказки и другие функции.

Поддержка Spring и Spring Boot

  • диаграмма зависимостей между бинами (Spring Beans Diagram) дополнена новым режимом просмотра прямых зависимостей Neighborhood Mode feature. Для удобства чтения можно переключиться в режим просмотра без рамок (Borderless View);

  • добавлена возможность автоопределения фасетов Spring.

  • поддержка Spring Boot 2.0 Actuator Endpoints;
  • файлы конфигурации Spring Boot теперь учитывают тип значения при подсветке;

  • автообнаружение MVC context в веб-приложениях Spring Boot MVC.

Kotlin

Cвязанный плагин Kotlin обновлен до версии 1.2. Главной особенностью стала экспериментальная функция кроссплатформенных проектов, когда один и тот же код может работать на разных платформах, поддерживаемых Kotlin.

Работа с модулями

Улучшения коснулись выгруженных модулей. Автоматически происходит загрузка/выгрузка модулей, добавленных другим членом команды в проект VCS. Cреда разработки теперь проверяет, что выгруженные модули компилируются без ошибок. Также добавлена возможность выбирать способ организации модулей: использовать группы модулей или их полные имена.

Gradle

  • запуск тестов в режиме сбора статистики о покрытии кода (Run with Coverage) теперь работает с включенными опциями Delegate IDE build/run actions to Gradle или Gradle Test Runner;
  • новое окно инструментов Build отображает процесс импорта, сборки и компиляции проекта для Gradle;

  • новый инструмент для работы с REST-запросами на основе редактора;
  • улучшена синхронизация настроек между разными компьютерами;
  • поддержка Local-Variable Type Inference — если предположение о типе переменной можно сделать из контекста, IDE предложит заменить его на “var”.

VCS

  • IDE сохраняет настройки workspace, при переходе между ветками;

  • IDE предлагает просмотр конфликтных изменений в трехпанельном интерфейсе;
  • IDE берет имя автора и другие детали из git-патча и проставляет их автоматически при коммите;

  • стало возможно интерактивное перемещение последних изменений в Git, используя опцию Interactively Rebase from Here из Log.

Инструменты баз данных

  • добавлена возможность группировать источники данных;

  • любые таблицы/представления могут быть экспортированы в файл или скопированы в буфер обмена;
  • добавлена поддержка Foreign Data Wrappers — внешние таблицы теперь отображаются в PostgreSQL;

  • выбор схемы при исполнении SQL файла;
  • Jump to Console позволяет быстро переключаться между уже созданными консолями.

Пользовательский интерфейс

  • представлена новая панель предпросмотра (Preview panel) для SVG редактора;

  • появилась возможность добавлять несколько параметров визуальных границ в редакторе;

  • расширяемое поле ввода — отражает аргументы в новой строке, после того как поле было расширено.

JavaScript и TypeScript

  • новый рефакторинг Pull Member Up позволяет переместить методы класса вверх по иерархии — от текущего JavaScript или TypeScript класса к родительскому классу или интерфейсу;
  • Extract type alias и Extract type interface для TypeScript позволяют создать алиас для сложного типа и автоматически применить везде новое имя;
  • доработаны автодополнение кода и документация для JavaScript.

Плагин Docker

  • Новый интерфейс Run/Debug Configurations. Docker Deployment Run Configuration разделен на 3 разных Run Configurations: Dockerfile (сборка образа из Dockerfile и запуск контейнера на основе полученного образа), Docker Image (запуск образа) и Docker Compose (запуск сервисов).

В IntelliJ IDEA 2017.3 исправлено много ошибок. Подробный список багфиксов доступен на официальной странице.

Источник: JetBrains