IntelliJ IDEA 2016.3: Java 8 і ES6, поліпшені відладчик і інтерфейс, і багато іншого

Привіт, Хабр!

Поспішаю поділитися гарною новиною. Сьогодні стала доступна 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/actions to run Gradle

Ця нова опція дозволяє делегувати такі дії IDE Build, Build Artifacts Run безпосередньо Gradle. Коли ця опція включена, IDE замість стандартних дій викликає відповідні Gradle-таски. Включити цю опцію можна в SettingsBuild, Execution, DeploymentBuild ToolsGradleRunnerDelegate IDE build/actions to run 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

Ця утиліта дозволяє аналізувати вміст АПК.

Бази даних

" Редагування декількох комірок

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

Пакетна відправка змін

Тепер зміни у таблиці відправляються не відразу, а по натисненню 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 (англійською). Там же можна завантажитиv оновлення.

Як завжди, буду радий відповісти на будь-які питання.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.