Обзор IntelliJ IDEA 2016.2 Public Preview

в 14:45, , рубрики: IDE, java, Блог компании JetBrains

Время летит! Всего месяц назад мы стартовали IntelliJ IDEA 2016.2 EAP, а уже сегодня рады представить вашему вниманию Public Preview. Предлагаем вам убедиться в том, что этот месяц не прошел даром, прочитав этот пост. Нетерпеливые могут его пропустить и пойти сразу качать превью, чтобы попробовать все самостоятельно. Для остальных предлагаю короткий рассказ об основных улучшениях.

image

Отладчик

Продолжая бороться за пространство и общее удобство, мы объединили вкладку Watches с вкладкой Variables.

image

Также теперь можно использовать многострочные выражения в настройке брейкпойнта в полях Condition и Evaluate and log, и в настройках Data Type Renderers в поле Use following expression.

image

Интеграция с Git и Mercurial

Вкладка Log для Git и Mercurial в очередной раз претерпела ряд изменений. Ее содержание теперь обновляется в фоновом режиме (и при загрузке проекта, и при изменениях в локальном репозитории). За счет этого открываться вкладка стала гораздо быстрее.

Кроме того, во время обновления и загрузки под панелью инструментов теперь отображается тонкая полоска прогресса.

image

Если в поле Filter указана строка поиска, во время прокрутки внизу также появляется индикатор загрузки.

Подробная информация о коммитах показывается теперь для нескольких выделенных коммитов.

И наконец, можно установить шорткат для быстрого перехода к полю Filter.

Для Git мы исправили важную проблему, с которой наверняка сталкиваются пользователи Windows и OS X: переименование файлов, где меняется только регистр символов.

Работа с патчами

Если вы скопируете патч в буфер обмена и переключитесь в IDE (или перетащите патч в окно IDE мышью), вам автоматически предложат применить этот патч.

Кроме того, применение патча значительно упростилось в тех случаях, когда он не содержит информации о ревизии, а оригинальный файл был перенесен, переименован или изменен. В простейших случаях IDE постарается самостоятельно определить оригинальный файл, в сложных — предложит вам его указать. Также, если содержание файла изменилось, IDE поможет объединить эти изменения с патчем.

image

И наконец, перед применением патч теперь можно просто сравнить с локальной копией (кнопка Show Diff) и при необходимости внести изменения в локальную версию вручную по ходу сравнения.

Редактор

Редактор теперь поддерживает шрифты с лигатурами — специальными символами, образованными путем соединения других символов. Включить опцию можно в SettingsEditorColors & Fonts → Font (флажок Enable font ligatures). Убедитесь, что выбранный шрифт поддерживает лигатуры, например FiraCode, Hasklig, Monoid или PragmataPro.

image

Интерфейс

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

Изображение выбирается с помощью действия Set Background Image, которое доступно как из Find Action, так и из контекстного меню на файле изображения.

image

Также внешне изменились всплывающие нотификации. Теперь они отображаются в нижнем правом углу (ближе к окну инструментов Events), имеют более компактную форму и группируются по типу подсистемы.

image

Spring Framework

Поддержка Spring Framework продолжает совершенствоваться.

Мы добавили инспекцию, которая предлагает автоматически заменять инжектирование полей конструкторами. Поддержали опцию (добавленную в Spring 4.3), которая позволяет использовать параметризированные типы (generics) в качестве классификаторов (qualifiers). Поддержали пользовательские аннотации EventListener, определенные с помощью AliasFor.

image

Кроме того, готова основательная поддержка Spring Cache (абстракции, добавленной в Spring 3.0 и полностью обновленной в Spring 4.1). Поддержка включает навигацию, инспекции, подсветку синтаксиса, автодополнение и навигацию при редактировании SpEl, и многое другое.

image

Для Spring MVC внутри шаблонов Freemarker и Velocity появилось автодополнение и навигация для переменных, объявленных в контроллере.

image

Также мы поддержали изменения Spring Security 4.0 и добавили автодополнение и навигацию при редактировании SpEl и для аннотаций и внутри XML.

image

Плюс мы добавили подсветку и навигацию для сообщений от Spring в консоли.

JavaScript

Теперь IDE не только помогает в написании ES6 кода, но и предлагает конвертировать в него код более старых версий JavaScript. Новый intention сможет заменить нормальные анонимные функции на стрелочные функции (arrow functions) и короткие стрелочные функции (shorthand arrow functions).

image

В дополнение к постфикс-автодополнениям, реализованным ранее, мы добавили шаблоны .const и .let.

image

React

IDE научилась понимать свойства (props) компонентов, объявленные при помощи propTypes, и теперь предлагает автодополнение и навигацию.

image

Методы жизненного цикла компонентов (например, componentDidMount) больше не подсвечиваются как неиспользуемые.

Когда вы передаете компоненту обработчики событий (например, onClick, onChange), IDE вместо кавычек ставит фигурные скобки (как и положено).

К слову о кавычках, теперь в SettingsEditorCode StyleHTMLOtherGenerated quote marks вы вообще можете указать, что использовать: двойные кавычки, одинарные или вообще ничего.

image

Наконец, IDE научилась понимать non-DOM аттрибуты, такие как key, ref и dangerouslySetInnerHTML.

AngularJS

Для AngularJS 2 мы добавили много полезных шаблонов (live templates). В Project WizardStatic Web появился раздел Angular CLI.

image

TypeScript

IDE предлагает умное автодополнение для enum-типов.

image

Npm, Gulp и Grunt

Любой скрипт npm, Gulp и Grunt может теперь автоматически запускаться IDE перед запуском Run configuration. Для этого этот скрипт необходимо добавить в разделе Before launch в диалоге Run configuration.

image

Работа с базами данных

По мере развития DataGrip, нового продукта JetBrains, инструменты для работы с SQL и базами данных внутри IntelliJ IDEA также продолжают улучшаться.

В диалоге настроек Data Source and Drivers появилось автодополнение для поля Database.

image

В окне инструментов Database появилась опция Auto-scroll from Editor. При открытии того или иного элемента базы данных в редакторе, этот элемент выделяется в окне Database.

image

Автодополнение SQL стало еще больше учитывать контекст. Например, если в контексте ожидается имя таблицы, IDE больше не предлагает функции.

image

Surround With предлагает передать текущее выражение в качестве параметра функции.

image

Редактор таблицы предлагает автодополнение при редактировании значения таблицы (на основе других значений этого столбца).

image

Размеры столбцов таблицы можно менять с помощью шорткатов Ctrl + Shift + Вправо/Влево (⌘⇧→← для OS X).

Для PostgreSQL была добавлена поддержка Schema Search Path, а также Range-типов и типов с TimeZone.

Установщик

И наконец, установщик для Windows теперь также включает наш кастомный билд JDK с нашими исправлениями проблем с фокусом и рендеринга шрифтов.

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

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

Автор: JetBrains

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js