Вчера стала доступна IntellIJ IDEA 2016.3 EAP – программа “раннего” доступа к обновлению, запланированному на эту осень.
Для справки. Официально программа называется Early Access Program. На практике это аналог alpha-версии. Обновления появляются в среднем с недельной периодичностью. Каждый желающий может установить дистрибутив, попробовать новые функции и поделиться своим мнением и идеями в трекере.
В этом посте я расскажу о главных нововведениях, которые уже доступны в EAP-билде.
Отладчик
Class-level watches
Остлеживание значений выражений стало удобнее. Теперь выражения можно объявлять не только глобально, но и на уровне конкретных классов. Эти выражения будут отображаться аналогично полям класса.
Выражения указываются в контексте экземпляра класса.
Отображение примитивных типов
Теперь Java Type Renderers можно объявлять и для примитивных типов, включая массивы.
Анализ содержания памяти
С помощью нового плагина JVM Debugger Memory View, во время отладки вы можете исследовать содержание памяти.
Окно инструментов Memory View отображает количество экземпляров каждого класса. Чтобы открыть окно инструментов, воспользуйтесь главным меню: View → Tool Windows → Memory View.
Колонка Diff отображает как количество экземпляров изменилось с момента предыдущей остановки. Таким образом вы можете следить за созданием новых экземпляров.
Двойной клик на строчке класса откроет список экземпляров этого класса. Mark Object, Evaluate Expression, Add to Watches и другие операции отладки доступны применимы к любому экземпляру в этом списке.
Catch class filter
Следующее улучшение касается отладки исключений. Теперь вы можете задать границы Exception Breakpoint, указав пакеты, в которых это исключение ловится, – иначе говоря, в которых стоит try-catch выражение.
Контроль версий
Отмена коммита
Откатить последний неопубликованный коммит теперь можно одним кликом: выделите его в закладке Log и вызовите Undo Commit из контекстного меню. Действие эквивалентно команде “git reset --soft HEAD^”. Это значит, что изменения не пропадут, а перейдут в Local Changes.
Удаление веток
Теперь если вы удаляете локальную ветку, IDE предложит также удалить ветку, на которую она ссылается, либо откатить удаление.
Sign-off commit
Диалог Commit Changes теперь предоставляет опцию Sign-off commit.
File colors
Теперь в диалогах и окнах инструментов контроля версий каждый файл подсвечивается в соответствии с настройками File Colors.
Интерфейс
Recent tests
Теперь вы можете нажать Ctrl+Shift+; (Cmd+Shift+; для OS X) и увидеть список последних тестов. Список содержит как последние успешные конфигурации тестов так и неуспешные индивидуальные тесты. Enter–запуск теста; F4–переход к коду.
Текстовый поиск
Теперь, если вы вызываете Find in Path из редактора, настройки сохраняют указанные ранее значения, а не сбрасываются как раньше.
Java
Лямбда выражения в File Structure
Попап и окно инструментов Structure теперь могут показывать лямбда выражения, если соответствующая настройка включена. Включить ее можно нажав Ctrl+L (Cmd+L для OS X).
Некоторые интеншены стали инспекциями
Основное отличие инспекций от интеншенов заключается в том, что инспекции можно применить сразу на многих файлах. Мы выбрали ряд интеншенов, для которых это имеет смысл, и сделали из них инспекции: в частности Lambda can be replaced with anonymous class и Diamond can be replaced with explicit type arguments.
Настройки инспекции unused declaration
В инспекцию Unused declaration добавлены настройки Members to report. Теперь вы можете выбрать, на какие члены класса и модификаторы испекция будет распространяться.
Иерархия мета аннотаций
Окно инструментов Type Hierarchy теперь работает и для мета-аннотаций и позволяет видеть их иерархию. Это может быть особенно полезно для Spring или, например, JUnit 5.
JavaScript and CSS
Flow
Теперь, если вы указали Flow в качестве версии JavaScript, вы начнете получать сообщения о проблемах в коде прямо в редакторе для тех файлов, которые аннотированы "// flow".
Чтобы это работало, не забудьте указать путь к локально установленному Flow в Settings → Languages & Frameworks → JavaScript → Flow.
Переименование методов в TypeScript
Переименование методов в TypeScript стало безопасным:
- Если метод наследует или переопределяет метод из других классов/интерфейсов, IDE предложит переименовать базовые методы;
- Если, существуют другие методы, переопределяющие или наследующие переименовываемый метод, IDE переименует и их.
Генерация кода Angular 2
Инструмент Angular CLI теперь интегрирован в попап Generate New, доступный по Alt+Ins (Cmd+N для OS X).
PostCSS
Для PostCSS теперь есть плагин. Установив плагин, вы получите подсказки, форматирование, навигацию, инспекции, переименование и другие функции предлагаемые для обычного CSS.
Группировка генерируемых файлов
В окне инструментов Project генерируемые файлы теперь группируются вместе с исходными файлами (если они в той же директории): например, ".css", ".css.map" и ".sass"; ".js", ".js.map" и ".ts"; и т.п.
Кроме нововведений обновление конечно же содержит массу багфиксов. Пока это все. Свежие EAP билды будут появляться каждую неделю.
Если обнаружите баги, пожалуйста сообщайте о них в наш трекер.
Ссылка на скачку EAP-билд: https://confluence.jetbrains.com/display/IDEADEV/IDEA+2016.3+EAP.
Буду рад ответить на вопросы.
Программируйте с удовольствием!
Автор: JetBrains