IntelliJ IDEA 2019.1: Кастомизация тем интерфейса, switch-выражения из Java 12, отладка внутри Docker-контейнеров

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

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Это – обзор нового в IntelliJ IDEA 2019.1. Ссылки в заголовках ведут на соотвествующие разделы на сайте, где всё описано детально, но на английском.

image

Интерфейс


Сделали новые темы интерфейса и возможность создавать их самостоятельно.



Java




  • Появилась поддержка функции Switch Expressions из Java 12 Preview: JEP 325. Подробнее здесь.
  • Рефакторинг Extract Variable сохраняет семантику лучше, чем раньше.
  • В тернарных выражениях IDE подсвечивает только то условие, в котором обнаружено нарушение допустимости значения null.
  • IDE отслеживает значения операций умножения, вычисления остатка и сдвига вправо.
  • Появилась возможность настроить имена переменных для автоматически генерируемых блоков try/catch.
  • IDE теперь автоматически выводит чистоту конструкторов из источников.
  • Можно перейти из трассировки стэка к точному месту ошибки на строке.
  • IDE научилась находить дубликаты веток switch, их можно объединить с помощью быстрого исправления.
  • Можно перемещать switch-выражения и catch-блоки вверх/вниз с помощью действия Move Statement Up/Down.
  • Появилась возможность импортировать и экспортировать шаблоны Structural Search в буфер обмена и из него.

Gradle




  • В новых Gradle-проектах действия сборки и запуска делегируются Gradle по умолчанию.
  • Делегирование сборки и запуска можно настроить отдельно для каждого Gradle-проекта.
  • Когда сборка делегируется Gradle, работает функция HotSwap.
  • Встроенная версия Gradle обновилась до 4.10.3.
  • С помощью инструмента запуска тестов Gradle теперь можно запускать параметризованные тесты JUnit.
  • IDE правильно выбирает, какую тестовую задачу Gradle запускать из редактора.
  • В окне Gradle можно просмотреть структуру многомодульного проекта без необходимости запускать команду gradle projects.

Maven




  • Когда сборка делегируется Maven, работает функция HotSwap.
  • Теперь IntelliJ IDEA работает только с Maven 3.3.9. Maven 2 больше не поддерживается.
  • Все выходные данные сборки Maven теперь отображаются в одном месте — в окне инструментов Build.
  • Диаграммы Maven показывают конфликтующие зависимости и дубликаты. Кроме того, можно отдельно просмотреть соседей выбранного узла или пути к ним, а также отключить рамки на диаграмме.

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




  • Действия Fixup и Squash теперь есть в контекстном меню на вкладке VCS Log, так что вы можете
    быстро создавать коммиты с сообщениями fixup! и squash!
  • Можно черипикнуть файлы из VCS-лога в контектсном меню.
  • В окне Branches теперь можно увидеть наличие входящих и исходящих коммитов для отдельных веток, если включена опция Mark Branches that have incoming/outgoing commits in the Branches popup.
  • Новый узел Recently Deleted на вкладке Shelf показывает все недавно удаленные отложенные файлы и дает возможность их восстановить.
  • Для аннотаций VCS есть режим, в котором отображаются только инициалы автора.
  • Выполняя частичный коммит можно выделить все фрагменты кода и снять с них выделение одним действием: используйте новый флажок Uncheck all на панели Diff диалогового окна Commit Changes.
  • На панели Project файлы и папки, игнорируемые с использованием Git ignore, выделяются оливковым цветом.

Diff Viewer




  • Чтобы скопировать текст в пустое окно Diff, можно перетащить в него файл.
  • Теперь в Diff Viewer можно просматривать различия не только по словам, но и по символам.
  • Новая опция Swap Sides позволяет выбрать, какой файл в Diff Viewer будет отображаться слева, а какой — справа.

Recent Locations


В новом всплывающем окне Recent Locations (Cmd-Shift-E / Ctrl-Shift-E) можно просмотреть все места в коде, которые вы недавно посещали или редактировали.



Отладчик JVM




  • Вычислитель выражений отладчика теперь поддерживает операторы synchronized, выражения assert и операторы switch.
  • Во время отладки Java-проекта можно выйти из текущего блока, используя новое действие Step Out of the block.
  • Теперь вы можете вызывать действие перехода к курсору с помощью мыши — кликните по нужному номеру строки в режиме отладки.

Редактор




  • Работает экспорт настроек стиля кода в JSON-файл. Экспортированные настройки можно использовать для интеграции с внешними инструментами.
  • Теперь можно включить soft-wraps для конкретного типа файла.
  • При первом использовании сочетания клавиш Ctrl+Y в Windows вы можете назначить его для действия Delete Line или Redo в диалоге Keymap Configuration.
  • Добавили раскладку Sublime Text.
  • Раскладка VSCode сделана в виде плагина VSCode Text keymap.

Scala


  • Подсветка ошибок, неявные подсказки и действия GoTo / Quick Definition / Quick Documentation теперь работают в for-генераторах.
  • Действие Find Usages можно вызывать для неявных определений, методов apply/unapply, методов for-генераторов и типов Single Abstract Method (SAM).
  • Можно декомпилировать скомпилированные Scala-файлы в Java.
  • Появилась возможность выбрать версию форматтера Scalafmt.
  • Сделали плагин для формата HOCON.
  • Улучшена подсветка ошибок: частичное объединение, подсветка конструкторов, плагин для компилятора better-monadic-for (функция implicit0), kind-projector (полиморфные лямбды на уровне значений), simulacrum (конструкторы типов с большей арностью) и другое.

Groovy


  • Поддержка Java-синтаксиса лямбда-выражений из Groovy 3.0.
  • Intention actions и инспекции для Groovy работают внутри тела лямбды.
  • Отладка Java-лямбд.

Kotlin



  • Встроенный Kotlin- плагин обновился до версии 1.3.21.
  • Можно создать метод main без параметров с помощью live templates.
  • IDE предлагает добавить суффикс Async к функции, возвращающей Deferred.
  • Еще один intention поможет преобразовать SAM в виде лямбды в анонимный объект.
  • Усовершенствованы преобразования строк.

JavaScript и Typescript


  • Новые рефакторинги и intention actions для деструктурирования JavaScript и TypeScript.
  • Новое действие для замены функции, возвращающей Promise, на асинхронную функцию с async/await.
  • Обновленная документация для CSS и HTML.
  • Усовершенствованная консоль в отладчике JavaScript и Node.js.

Docker


Теперь можно отлаживать Java-приложения, запущенные внутри Docker-контейнера.



Плагин Kubernetes


  • Добавлена возможность загружать спецификации ресурсов из внешних источников.
  • Рефакторинг Rename для чартов можно применять в файлах ресурсов Helm.

Spring Cloud Stream


  • Поддержали редактирование проектов в Spring Cloud Stream: подсветка синтаксиса, автодополнение кода, инспекции и быстрые исправления.
  • Автодополнение имен привязок работает для значений и ссылок в файлах application.properties и application.yml.
  • Переключаться между обработчиками связанных сообщений consumers и producers можно по значку в поле редактора.

Другое


  • В IntelliJ IDEA 2019.1 попали все нововведения Android Studio 3.3. Подробнее.
  • Ранний доступ к новому JetBrains Runtime 11. Пока что IntelliJ IDEA доступна как с JetBrains Runtime 8, так и с JetBrains Runtime 11.
  • Поддержали баз данных Greenplum, Vertica и Apache Hive. В следующем апдейте появится Snowflake.
  • Новые настройки keep-alive и auto-disconnect для источников данных.
  • Поддержали фреймворк Eclipse Concierge OSGi.
  • Появилась возможность поиска настроек плагинов. Даже если плагин установлен вручную, настройки будут отображаться в результатах поиска.

Список важных улучшений получился довольно большим, но в работе над всеми этими классными фичами мы не забывали о качестве и стабильности — продолжаем исправлять ошибки, избавляться от проблем с производительностью и делать IDE еще удобнее.

Полный список можно найти в release notes. Мы благодарим всех, кто голосует за задачи в трекере, отправляет предложения по улучшению, делится мыслями в Твиттере и в комментариях на Хабре. Ваши отзывы помогают нам делать IntelliJ IDEA лучше, продолжайте в том же духе!

Скачать IntelliJ IDEA 2019.1

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


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

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

Вышел очередной выпуск подкаста «Битовая Каска» с Антоном Архиповым (@antonarhipov). Антона, наверное, представлять не нужно, но всё-таки: Java-чемпион, менеджер по продукту в команде Kotli...
При разработке проекта постала необходимость удалять файлы, созданные приложением во время своего выполнения. Но требовалось, чтобы файлы удалялись не по завершению сеанса, работы ПК, а по треб...
В 2015-м я написал об инструментарии, который Ruby предоставляет для обнаружения управляемых утечек памяти. В основном статья рассказывала о легко управляемых утечках. На этот раз я расскажу об...
Не любите Java? Да вы не умеете ее готовить! Mani Sarkar предлагает нам познакомиться с инструментом Valohai, позволяющим проводить исследования модели на Java.
Иногда люди задают вопрос, который, на первый взгляд, про одно, а на самом деле про другое. Как говорится, грамотно поставленный вопрос содержит половину ответа. На днях я вернулся с конференц...