Что нового и интересного в IntelliJ IDEA 15

На прошлой неделе JetBrains объявила о выходе IntelliJ IDEA 15. Как всегда, IDE доступна в двух редакциях: коммерческая Ultimate и бесплатная Community Edition. Скачать новую версию можно на официальном сайте JetBrains. Этот пост вкратце о том, что в ней нового и интересного.

image

Kotlin
Главная новость заключается в том, что одновременно с релизом IntelliJ IDEA 15 вышел и Kotlin Beta — практически готовый к релизу JVM язык программирования, разрабатываемый в недрах JetBrains. В IntelliJ IDEA 15 поддержка Kotlin доступна “из коробки”.

Отладчик
Популярность Java 8 продолжает набирать обороты, а JetBrains продолжает делать отладчик более удобным для работы с лямбда-выражениями. При добавлении точки останова IDE теперь позволяет выбрать конкретное выражение. Перейти в конкретное лямбда-выражение теперь можно и при помощи Step Into и Run to Cursor.

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

Обнаружение дубликатов в коде
Раннее поиск дубликатов в IntelliJ IDEA осуществлялся через инструмент AnalyzeLocate Duplicates. Результатов этой операции можно было ожидать несколько минут. Изменения, внесенные в алгоритм индексации в IntelliJ IDEA 15, позволили сделать поиск дубликатов мгновенным: с помощью инспекции Duplicated Code. Инспекцию можно настроить или отключить в SettingsInspections.

Поиск текста
Поиск текста — относительно простая операция, тем не менее IntelliJ IDEA продолжает совершенствовать его с каждой версией (ранее была добавлена возможность выбора контекста поиска: комментарии, строковые литералы и т. п.). В IntelliJ IDEA 15 в диалог поиска добавлена панель с мгновенными результатами.

Запуск приложений и тестов
Теперь рядом с методами main, а также рядом с каждым тестом на гаттере отображается иконка, нажатием на которую можно быстро запустить соответствующий метод или тест. Для каждого теста иконка отображает результат последнего запуска.

Кроме того, конфигурации запуска получили индикаторы состояния: теперь легко отличить запущенную конфигурацию от остановленной, а кнопка Run на панеле инструментов выглядит как Restart для запущенной конфигурации типа Single instance only.

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

Системы контроля версий
Интеграция с Git, Mercurial, Perforce и другими системами контроля версий подверглась ряду улучшений. Rebase стала полноправной операцией в меню Branch operations на равне с Merge. Само меню Branch operations стало доступно в Log.

По клику на гаттере для измененных строк теперь показываются непосредственные части, которые изменились (ранее показывалась вся строка полностью). Кроме этого, если изменения коснулись только форматирования, цвет маркера на гаттере будет желтым вместо синего.

При реформатировании только измененных строк IDE теперь понимает необходимость реформатирования и контекстно-зависимых строк, например отступы в объявлении методов. В окне Merge стала доступна операция Undo.

Для Mercurial появилась возможность управления патчами MQ. Для Perforce появилась функция Shelve in Perforce. Для TFS появилась возможность работы с древовидными Work items, а также с Saved queries.

Серверные фреймворки
Поддержка фреймворков была также обновлена в соответствии с их последними версиями. Поддерживаются новые функции, добавленные в Spring 4.2: аннотация Bean на default методах, автодополнение и навигация для кода использующего аннотации EventListener; а также аннотация @AliasFor.

Кроме того, в IntelliJ IDEA 15 появилась долгожданная поддержка Grails 3.

Добавлена экспериментальная поддержка Arquillian: контейнеры можно конфигурировать на уровне IDE и указывать их при запуске тестов.

Scala
Плагин для Scala также обновился за счет поддержки SAM (Single Abstract Method), подсказки, позволяющей разворачивать макросы, постфикс автодополнений, Inline рефакторинга для Type aliases и некоторых других улучшений.

Фронтенд разработка
Веб-разработчики будут рады узнать о поддержке TypeScript 1.6, интеграции с TSLint и значительно улучшенной поддержке React фреймворка (включая разметки JSX и TSX):

В IntelliJ IDEA 15 доступны возможности, добавленные в Android Studio 1.3: Android Memory (HPROF) Viewer и Allocation Tracker. Более поздние изменения Android Studio скоро также появятся в минорных обновлениях IntelliJ IDEA 15.

Базы данных и SQL
Инструменты для работы с базами данных и SQL были значительно обновлены: теперь можно быстрее получать точную информацию об объектах баз данных для Oracle, PostgreSQL, MySQL и SQL Server, генерировать код для CREATE TABLE и INSERT конструкций; визуально редактировать существующие таблицы; строить план выполнения запросов; сравнивать результаты нескольких запросов и не только.

Цены и лицензирование
IntelliJ IDEA 15 является частью JetBrains Toolbox и доступна теперь по подписке. Кроме новых цен и условий лицензирования, это также означает, что, если раньше вы пользовались несколькими продуктами JetBrains одновременно, теперь вы можете купить их по более выгодной цене.

Если вы еще не попробовали IntelliJ IDEA 15 самостоятельно, приглашаем вас сделать это прямо сейчас.

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

© Habrahabr.ru