Доступна IntelliJ IDEA 15 Preview
Вчера JetBrains опубликовал превью IntelliJ IDEA 15.
Для тех, кто не участвует в EAP, это возможность познакомиться с новой версией. Для нас это возможность рассказать о том, над чем мы работали в последнее время.
Во-первых, продолжая адаптировать IDE к Java 8, мы улучшили взаимодействие дебаггера с лямбда выражениями. Теперь при установке брейкпоинта вы можете указать не всю строку, а конкретное лямбда выражение, которое в ней содержиться. Точно также вы можете применять Run to cursor по отношению конкретному лямбда выражению вне зависимости от того на какой строке оно находится. И наконец если вы вызываете Step Into, IDE предложит перейти к лямбда выражению, являющемуся параметром.
Кроме того в дебаггер был добавлен экшн Force return, который позволяет прервать исполнение текущего метода и вернуть выбранное вами значение. Это удобно, если вы хотите поменять логику выполнения кода в целях отладки.
Во-вторых, недавние улучшения алгоритма индексации позволили реализовать инспекцию для мгновенного обнаружения дупликатов кода. Теперь если напишете или скопируете код, уже содержащийся в другой части проекта, IDE сразу же вам об этом сообщит и покажет совпадения. Чтобы сделать инспекцию ненавязчивой, мы показываем только совпадения длиннее 5-ти строк.
Интерфейс также подвергся изменениям. Run configurations теперь имеют индикаторы состояния. Если конфигурация типа Single instance only, кнопка Run будет выглядеть как Restart.
Гаттер теперь позволяет запускать приложения и тесты. Более того, для тестов, он теперь умеет отображать результаты последнего запуска.
Появилась возможность скрывать ненужные Tool windows не отключая при этом плагин. Для этого достаточно выбрать пункт Remove from Sidebar в меню соответствующего Tool window.
Функция поиска текста также стала удобнее. Когда вы вызываете Find in Path, теперь IDE умеет отображать результаты мгновенно в закладке Preview. Это позволяет тратить меньше времени на переход в окно поиска и обратно.
Rebase стала полноценной операцией и доступна в меню Branches, унаследовав синхронные операции над несколькими репозиториями, автоматический стешниг локальных изменений и резолв конфликтов. Само меню Branches стало доступно из закладки Log.
При нажатии на гаттер, IDE теперь выделяет изменения отдельных частей строки. Также гаттер научился отличать изменения whitespace от других изменений: грязно-желтый цвет вместо синего.
Во время операции по резолву конфликтов теперь можно пользоваться командой Undo. В Diff viewer был добавлен экшн Annotate.
Пользователи Mercurial получили инструменты для работы с патчами. Пользователи Perforce получили возможность хранить локальные изменения на сервере Perforce: операция Shelve in Perforce.
Плагин для работы с Docker улучшился за счет удобного редактирования настроек контейнера; быстрого создания контейнера для выбранного имаджа; и поддержки Docker Toolbox.
Мы поддержали новые возможности добавленные в Spring 4.2: @Bean на дэфолтных методах в интерфейсах; @Import для обычных классов; аннотации @EventListener, @AliasFor, и @ContextConfiguration.
Улучшена поддержка Spring Boot проектов: добавлены подсказки в application.yml и additional-spring-configuration-metadata.json файлах; добавлена автоматическая настройка фасета на основе аннотаций; улучшено создание проектов через Spring Initializr.
Для Arquillian мы добавили возможность конфигурации контейнеров. Затем контейнер можно указать при запуске тестов.
В Scala плагине были добавлены поддержка SAM (single abstract method); интеншн для развертывания макросов; Postfix комплишн; Inline рефакторинг дла Type aliases; а также распознавание динамических имен тестов (например “test(variable)” или “test(stringExpression)”).
Язык Kotlin, разрабатываемый в недрах JetBrains, приближается к скорому релизу, внося последние важные изменения в синтаксис, совместимость с Java, и поддержку IDE. Результатом этой работы стало то, что плагин для Kotlin теперь поставляется вместе с IDE. Для тех, кто не знаком с Kotlin, а также тех, кто давно не интересовался им, это прекрасная возможность исправить это. Подробнее о последних изменениях можно прочитать в блоге Kotlin.
Работая над Kotlin и Scala мы не забываем и про Groovy. Для него мы добавили поддержку Builder AST трансформации.
Фронтенд разработчики, использующие React, будут рады узнать об улучшенной поддержке в JSX файлах: добавлены комплишн, инспекшны, Surround with экшн, и навигация.
Также добавлена поддержка новых языковых конструкций TypeScript 1.6 и некоторые EcmaScript 7 (например async/await).
Не секрет, что JetBrains трудится над новой IDE для работы с SQL и базами данных. Поскольку IntellIJ IDEA включает этот функционал, стоит упомянуть его улучшения. Главным из них является нативная и быстрая интроспекция: получение информации об объектах базы данных с учетом специфики неучтенной в JDBC драйверах. Также появился удобный редактор таблиц, и возможность смотреть Execute plan для запросов.
Кроме прочего превью включает изменения Android Studio 1.3, включая Android Memory (HPROF) Viewer и Allocation Tracker.
Буду рад ответить на любые вопросы!