Pull to refresh
0
JetBrains
Делаем эффективные инструменты для разработчиков

IntelliJ IDEA 2016.3: Java 8 и ES6, улучшенные отладчик и интерфейс, и многое другое

Reading time5 min
Views28K
Привет, Хабр!

Спешу поделиться хорошей новостью. Сегодня стала доступна IntelliJ IDEA 2016.3 – очередное крупное обновление нашей (и, хочется надеяться, вашей) любимой Java IDE. Читайте ниже об основных изменениях и нововведениях.



Java 8


С релиза Java 8 IntelliJ IDEA предоставляет инспекции, помогающие писать корректный и идиоматический Java 8. В IntellIJ IDEA 2016.3 эти инспекции были серьезно переработаны, расширив область применения за рамки тривиальных примеров. Теперь, если вы нажмете Alt+Enter внутри нетривиального for цикла, IDE предложит переписать его с использованием Stream API. При этом IDE будет опираться на практически все доступные API: count, sum, flatMap, map, mapToInt, collect, filter, anyMatch, findFirst, toArray и другие. Примечание: похожая инспекция доступна для Kotlin. Также IDE предложит заменить соответствующие конструкции на Map.computeIfAbsent, Collections.removeIf или ThreadLocal.withInitial там, где это имеет смысл.



Scala


Scala.js


Обновленный Scala плагин теперь предоставляет навигацию и автодополнение для js.Dynamic – на основе переменных и методов, объявленных в JavaScript библиотеках или файлах проекта.

scala.meta


Также плагин получил поддержку scala.meta. IntelliJ IDEA поддерживает “новые” макро-аннотации и предоставляет помощь при редактировании scala.meta quasiquotes.

JVM отладчик


Class-level Watches


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



Memory View


Этот новый плагин позволяет исследовать объекты в памяти JVM при отладке кода. Плагин показывает количество объектов в памяти, с группировкой по имени класса. По мере того как вы перемещаетесь во время отладки по коду, колонка Diff показывает как это количество меняется. Двойной клик на классе откроет диалог с объектами. Также плагин позволяет отслеживать stacktraces создания объектов.



Интерфейс


Подсказки имен параметров методов


Опция Parameter Hints (включена по-умолчанию) показывает имена параметров методов, если в качестве аргументов используются литералы или null. Такие подсказки делают код более читаемым. Если подсказки для каких-то методов избыточны, вы можете попросить IDE не показывать их.



Семантическая подсветка


Ранее появившийся в KDevelop и некоторых других IDE, Semantic highlighting теперь доступен в IntelliJ IDEA. Эта опция добавляет в стандартную подсветку уникальные цвета для каждого параметра и локальной переменной. Эта опция выключена по умолчанию, но может быть включена в SettingsEditorColors & FontsLanguage DefaultsSemantic highlighting.



Иконки


Иконки файлов и папок стали плоскими. Новые иконки стали четче и менее отвлекающими.

Инструменты сборки


Delegate IDE build/run actions to Gradle


Эта новая опция позволяет делегировать такие действия IDE как Build, Build Artifacts и Run напрямую Gradle. Когда эта опция включена, IDE вместо стандартных действий вызывает соответствующие Gradle-таски. Включить эту опцию можно в SettingsBuild, Execution, DeploymentBuild ToolsGradleRunnerDelegate IDE build/run actions to Gradle.

Gradle Composite Builds.


Эта новая мощная опция позволяет заменить любую из зависимостей проекта другим проектом. Эта опция требует Gradle 3.1 или старше.

Polyglot Maven


Теперь pom.xml можно писать на Groovy, Scala, Ruby и других языках. (Примечание: подсказки при редактировании pom.xml доступны только для Groovy.)

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


Log для Git и Mercurial


Окно Log снова переработано, в этот раз – с целью повышения эргономичности и скорости работы. Панель подробных изменений сместилась вправо, освободив больше места. Описание изменений теперь выровнены и более читаемы. Метки с тегами и названиями веток сместились вправо и отображаются более элегантно. Строка поиска сохраняется между запусками IDE. Для Git поиск по тексту, автору и пути стал гораздо быстрее.

Merge и Diff


Окно Merge теперь может разрешать конфликты автоматически там, где это возможно. В таких случаях слева будет отображаться иконка Resolve с волшебной палочкой. Также мы добавили маркеры, отражающие изменения, которые будут применены поверх базовой ревизии. Кроме этого, и Merge и Diff теперь предлагают подсветку синтаксиса и навигацию для “не-базовых” ревизий.



Также добавлено управление удаленными репозиториями.

JavaScript


ECMAScript 6


IntelliJ IDEA позволяет автоматически конвертировать переменные объявленные var в const/let в зависимости от семантики их использования.



Для всех вызовов require, IDE предложит автозамену на import.



Для всех классов, объявленных с помощью функций и цепочек prototype, IDE предложит автозамену на полноценные классы.



TypeScript


Исправлена проблема переименования наследуемых методов.

Flow


Теперь, если вы укажете Flow в качестве версии JavaScript, а также укажете путь к дистрибутиву Flow, заработают соответствующие инспекции (и в некоторых случаях автодополнения).

Серверы приложений


TomEE 7


Поддержка TomEE была обновлена до последней версии.

Liberty


Теперь IDE позволяет запускать loose applications. Для этого на закладке Deployment в окне WebSphere Run/Debug configuration вместо артефакта выберите Loose application….

React Native


Теперь запускать и отлаживать React Native приложения можно для OS X и Android прямо из IDE.



Android


Blueprint



Это новый режим в Designer, который скрывает визуальные элементы компонентов и отражает только их структуру.

Constraint Layout


Это мощный новый layout manager, который позволяет создавать сложные структуры интерфейса, используя плоскую структуру.

Instant Run


Согласно информации от команды Android Tools, обновление исправляет большое количество проблем, связанных с работой Instant Run. Теперь Instant Run должен работать более стабильно.

APK Analyzer


Эта утилита позволяет анализировать содержимое APK.

Базы данных


Редактирование нескольких ячеек


Теперь вы можете выделить несколько ячеек и редактировать их одновременно.

Пакетная отправка изменений


Теперь изменения в таблице отправляются не сразу, а по нажатию Ctrl+Enter (Cmd+Enter для OS X) – целыми пакетами. Используйте Undo, чтобы откатить неотправленное изменение.

Поиск использований


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



Clouds


Google Cloud Tools


Google представила собственный плагин для деплоя приложений в Google Cloud. Позже этот плагин полностью заменит плагин JetBrains для работы с Google App Engine.

OpenShift Origin (V3)


Плагин для работы с OpenShift теперь поддерживает новую версию OpenShift.

Toolbox App


Не забудьте взглянуть на Toolbox App — новое десктопное приложение для удобной установки и обновления любых IDE от JetBrains.



Это вкратце все, что команда успела сделать за 4 месяца, не считая багфиксов.

Подробности, скриншоты и видео о релизе можно найти на странице What’s New (на английском). Там же можно скачать обновление.

Как всегда, буду рад ответить на любые вопросы.
Tags:
Hubs:
Total votes 54: ↑47 and ↓7+40
Comments141

Articles

Information

Website
jetbrains.com
Registered
Founded
Employees
1,001–5,000 employees
Location
Чехия