Встречайте, IntelliJ IDEA 14 уже здесь

Закончились праздники и выходные, но не поводы радоваться. Что может быть приятнее, чем узнать о долгожданном обновлении любимой Java IDE? Мы с нетерпением ждали четыре долгих дня, чтобы удивить вас этим приятным сюрпризом. Встречайте IntelliJ IDEA 14! image

Рассказывая о том, чем мы занимались большую часть года, мы всякий раз переживаем и волнуемся. Каждая новая версия IntelliJ IDEA поднимает планку всеобщих ожиданий. И все-таки каждое обновление — еще один шанс для нас доказать, что совершенству нет предела. Удалось ли на этот раз — судить вам!

ДекомпиляторЧтобы избавить пользователей от необходимости устанавливать дополнительные плагины, в инструментарий IDE был добавлен декомпилятор для Java-классов. Теперь посмотреть код библиотеки можно, даже если у вас нет исходников.

ОтладчикВ новой версии значительно улучшен Java-отладчик. Одно из главных нововведений — опция «Show values in Editor», позволяющая видеть значения переменных во время отладки прямо в редакторе, в контексте их использования.

image

Кроме того, теперь для каждого экземпляра вы можете посмотреть список всех ссылающихся на него объектов: с помощью новой команды «Show referring objects».

image

Еще одним улучшением является вычисление выражений, содержащих лямбды и анонимные классы. Это особенно пригодится тем, кто уже перешел (или планирует перейти) на Java 8.

image

Стоит отметить, что это работает как для Java, так и для Scala.

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

image

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

image

Также в редакторе появилась новая функция «Scratch files». Эта функция открывает новую вкладку, не связанную ни с одним файлом в проекте. При редактирования содержания вкладки IDE будет предлагать помощь (coding assistance) в соответствии с типом файла (выбранным при открытии вкладки). Одновременно вы можете открыть любое число таких вкладок и переключаться между ними командой «Recent files».

image

Множественное выделение (multiple selections)Функция «множественное выделение» (multiple selections), появившаяся не так давно, также была переработана. Дополнение кода теперь включает варианты с учетом всех позиций курсора; функция работает также для вложенных языков (injected languages); обеспечивается правильно поведение функции при копировании, вставке, удалении строк, комментировании и т. п.

Кроме того, добавились новые сочетания клавиш, что значительно упростило работу с этой функцией:

Клонировать выделение (Clone caret): двойное нажатие Ctrl и затем, удерживая Ctrl, стрелки вверх или вниз (Cmd для OS X); Следующее совпадение (Add Selection to Next Occurrence): Alt+G (Ctrl-G для OS X) Убрать выделение (Unselect Occurrence): Shift+Alt+G (Shift-Cmd-G для OS X) Выделить все (Select All Occurrence): Ctrl+Alt+Shift+J (Ctrl-Shift-G для OS X) Пропустить совпадение (Next Occurrence): Alt+G (Cmd-G для OS X) Копирование кода в HTML/RTFТеперь при копировании кода в любой HTML/RTF-редактор сохраняется внешний вид и форматирование кода, и, что самое важное, для этого не требуется никаких дополнительных плагинов.

image

Поиск по файлам проекта (Find in path) стал быстрее за счет добавленных оптимизаций. Также появилась возможность пропускать совпадения в комментариях и текстовых выражениях.

image

Анализ кода (code analysis)Статический анализ кода (code analysis), представленный в IntelliJ IDEA инспекциями, пополнился новой очень мощной функцией, а именно выводом NotNull, Nullable и Contract аннотаций из байткода подключенных библиотек. Это значит, что теперь вам необязательно прописывать аннотации NotNull, Nullable и Contract самостоятельно — IDE cделает это автоматически при подключении библиотеки!

image

Системы сборки (build tools)Интеграция с системами сборки, такими как Maven и Gradle, также претерпела ряд положительных изменений: при запуске тестовых задач Gradle IDE теперь отображает стандартное окно выполнения тестов, позволяющее видеть результаты в удобном виде, а также перезапускать или отлаживать тесты по выбору.

image

Кроме того, теперь вы можете указывать задачу Gradle в поле «Before the launch» в конфигурациях запуска (run configurations).

Итеграция с Maven получила улучшенную поддержку профайлов и автоматическую генерацию MANIFEST.MF файла.

Системы контроля версий (version controls)Интеграция с системами контроля версий продолжает развиваться, главным образом, для Git и Mercurial. Журнал изменений (вкладка Log в окне Changes) стал еще быстрее, графы стали отображаться даже при использования фильтра, а в журнале появилась новая команда «Git reset from the log».

image

Также для Git и Mercurial был переделан Push-диалог: теперь он содержит дополнительную информацию об исходящих изменениях, сгруппированную по репозиториям, с возможностью выбора изменений, которые вы хотите отправить. Опция «Force push» доступна из выпадающего меню кнопки Push.

image

Отдельно по Mercurial стоит отметить добавленную поддержку Subrepositories, а также синхронное управление ветками, ранее доступное только для Git.

image

JavaFXРазработчики десктопных приложений будет рады узнать, что JavaFX Scene Builder теперь доступен прямо из IDE. Теперь для редактирования формы в визуальном редакторе необязательно переключаться из IDE в Scene Builder — достаточно переключить закладку в редактируемом файле.

image

FrameworksПоддержка фреймворков и серверов приложений обновлена в соответствии с последними версиями. В частности, добавлена поддержка Super Dev Mode для GWT, вместе с улучшенной интеграцией с Source Maps и новой опцией в конфигурации, автоматически запускающей сессию отладки JavaScript.

image

Также ряды поддерживаемых фреймворков пополнились Thymeleaf. Работает дополнение кода, навигация (navigation to declaration), переименование (рефакторинг Rename), поиск вхождений (Find Usages), анализ кода и др. Поддержка распрастраняется не только на файлы шаблонов, но и на контроллеры.

image

ScalaScala-разработчики также не будут разочарованы, их ждет много приятных изменений. Во-первых, мы наконец отказались от Scala Facet для конфиграции Scala-проекта, заменив ее на расширенные настройки Scala-библиотеки: (которые теперь, кроме путей к библиотекам, содержат также путь и версию компилятора):

image

Поддержка фреймворка Play 2.x стала частью основного Scala-плагина (и по-прежнему доступна только в IntelliJ IDEA Ultimate).

Появилась возможность менять сигнатуру методов с помощью встроенного рефаторинга «Change signature»:

image

Продолжая тему интеграции с системами сборки, стоит отметить улучшенную поддержку SBT:

Дополнение для SBT keys и зависимостей Попап документации (Quick documentation) для SBT keys Шаблон (live template) «dep» для объявления зависимостей Проверка правильности указания зависимостей (с учетом указанных репозиториев) Поддержка android-sbt-plugin плагина Инспекция, предлагающая заменить Project () на project.in (), где это возможно Навигация в подпроекты (subprojects) с помощью Ctrl + клик (Cmd + клик для OS X) Кроме того были добавлены новые инспекции и, конечно же, улучшена производительность.

AndroidЕсли вы разрабатываете для Android, то будете рады узнать, что все самые последние функции, добавленные командой Google в Android Studio (находящуюся пока еще в стадии Beta), уже доступны в IntelliJ IDEA. Это включает в себя поддержку Android Wear и TV. Подробнее о нововведениях можно узнать на официальной странице Android Studio.

image

Веб-разработкаВсе нововведения для веб-разработки, представленные не так давно в WebStorm 9, теперь также есть и в IntelliJ IDEA 14:

Постфиксное дополнение для JavaScript Интеграция с Gulp: просмотр, запуск и отладка задач Улучшенная поддержка spy-js для трассировки (tracing) и профилирования Node.js приложений Загрузка изменений (live edit) для запущенного Node.js приложения Плагины для полноценной разработки Meteor и PhoneGap/Cordova/Ionic приложений Database ToolsИ наконец обновились инструменты для работы с базами данных и SQL, а точнее унаследовали обновление от 0xDBE, нашей новой IDE, находящейся все еще в разработке. Обновление включает:

Улучшенный редактор таблиц и результатов запросов: обнаружение картинок в полях BLOB Команды Quick Value и Quick Documentation теперь объединены вместе и показывают примерное кол-во записей в таблице Подробная информация об ошибке в запросе в окне Event Log Настраиваемое поле Auto-Commit Выполнение больших SQL-файлов Опция Auto Increment в диалоге создания колонки и таблицы Команда Navigate to Table/Procedure Поддержка Integrated Windows Authentication для SQL Server Получить еще более подробную информацию об IntelliJ IDEA 14, а также скачать IDE вы можете на официальной странице релиза.

Develop with Pleasure!

© Habrahabr.ru