Что нового в IntellIJ IDEA 2016.3 EAP

Вчера стала доступна IntellIJ IDEA 2016.3 EAP — программа «раннего» доступа к обновлению, запланированному на эту осень.

image

Для справки. Официально программа называется Early Access Program. На практике это аналог alpha-версии. Обновления появляются в среднем с недельной периодичностью. Каждый желающий может установить дистрибутив, попробовать новые функции и поделиться обратной связью в трекере.

В этом посте я расскажу о главных нововведениях, которые уже доступны в EAP-билде.

Отладчик


Class-level watches

Остлеживание значений выражений стало удобнее. Теперь выражения можно объявлять не только глобально, но и на уровне конкретных классов. Эти выражения будут отображаться аналогично полям класса.

image

Выражения указываются в контексте экземпляра класса.

Отображение примитивных типов

Теперь Java Type Renderers можно объявлять и для примитивных типов, включая массивы.

image

Анализ содержания памяти

С помощью нового плагина JVM Debugger Memory View, во время отладки вы можете исследовать содержание памяти.

Окно инструментов Memory View отображает количество экземпляров каждого класса. Чтобы открыть окно инструментов, воспользуйтесь главным меню: ViewTool WindowsMemory View.

Колонка Diff отображает как количество экземпляров изменилось с момента предыдущей остановки. Таким образом вы можете следить за созданием новых экземпляров.

image

Двойной клик на строчке класса откроет список экземпляров этого класса. Mark Object, Evaluate Expression, Add to Watches и другие операции отладки доступны применимы к любому экземпляру в этом списке.

image

Catch class filter

Следующее улучшение касается отладки исключений. Теперь вы можете задать границы Exception Breakpoint, указав пакеты, в которых это исключение ловится, — иначе говоря, в которых стоит try-catch выражение.

image

Контроль версий


Отмена коммита

Откатить последний неопубликованный коммит теперь можно одним кликом: выделите его в закладке Log и вызовите Undo Commit из контекстного меню. Действие эквивалентно команде »git reset --soft HEAD^». Это значит, что изменения не пропадут, а перейдут в Local Changes.

image

Удаление веток

Теперь если вы удаляете локальную ветку, IDE предложит также удалить ветку, на которую она ссылается, либо откатить удаление.

image

Sign-off commit

Диалог Commit Changes теперь предоставляет опцию Sign-off commit.

File colors

Теперь в диалогах и окнах инструментов контроля версий каждый файл подсвечивается в соответствии с настройками File Colors.

image

Интерфейс


Recent tests

Теперь вы можете нажать Ctrl+Shift+; (Cmd+Shift+; для OS X) и увидеть список последних тестов. Список содержит как последние успешные конфигурации тестов так и неуспешные индивидуальные тесты. Enter–запуск теста; F4–переход к коду.

image

Текстовый поиск

Теперь, если вы вызываете Find in Path из редактора, настройки сохраняют указанные ранее значения, а не сбрасываются как раньше.

Java


Лямбда выражения в File Structure

Попап и окно инструментов Structure теперь могут показывать лямбда выражения, если соответствующая настройка включена. Включить ее можно нажав Ctrl+L (Cmd+L для OS X).

image

Некоторые интеншены стали инспекциями

Основное отличие инспекций от интеншенов заключается в том, что инспекции можно применить сразу на многих файлах. Мы выбрали ряд интеншенов, для которых это имеет смысл, и сделали из них инспекции: в частности Lambda can be replaced with anonymous class и Diamond can be replaced with explicit type arguments.

image

Настройки инспекции unused declaration

В инспекцию Unused declaration добавлены настройки Members to report. Теперь вы можете выбрать, на какие члены класса и модификаторы испекция будет распространяться.

Иерархия мета аннотаций

Окно инструментов Type Hierarchy теперь работает и для мета-аннотаций и позволяет видеть их иерархию. Это может быть особенно полезно для Spring или, например, JUnit 5.

JavaScript and CSS


Flow

Теперь, если вы указали Flow в качестве версии JavaScript, вы начнете получать сообщения о проблемах в коде прямо в редакторе для тех файлов, которые аннотированы »// flow».

image

Чтобы это работало, не забудьте указать путь к локально установленному Flow в SettingsLanguages & FrameworksJavaScriptFlow.

Переименование методов в TypeScript

Переименование методов в TypeScript стало безопасным:

  • Если метод наследует или переопределяет метод из других классов/интерфейсов, IDE предложит переименовать базовые методы;
  • Если, существуют другие методы, переопределяющие или наследующие переименовываемый метод, IDE переименует и их.

image

Генерация кода Angular 2

Инструмент Angular CLI теперь интегрирован в попап Generate New, доступный по Alt+Ins (Cmd+N для OS X).

image

PostCSS

Для PostCSS теперь есть плагин. Установив плагин, вы получите подсказки, форматирование, навигацию, инспекции, переименование и другие функции предлагаемые для обычного CSS.

image

Группировка генерируемых файлов

В окне инструментов Project генерируемые файлы теперь группируются вместе с исходными файлами (если они в той же директории): например,».css»,».css.map» и ».sass»;».js»,».js.map» и ».ts»; и т.п.

Кроме нововведений обновление конечно же содержит массу багфиксов. Пока это все. Свежие EAP билды будут появляться каждую неделю.

Если обнаружите баги, пожалуйста сообщайте о них в наш трекер.

Ссылка на скачку EAP-билд: https://confluence.jetbrains.com/display/IDEADEV/IDEA+2016.3+EAP.

Буду рад ответить на вопросы.

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

Комментарии (0)

© Habrahabr.ru