+38/044/257-2444
+38/067/502-3306
+38/050/370-3627
Новости

JetBrains выпустила IntelliJ IDEA 2018.1. Множество важных улучшений: улучшенный анализ кода, поддержка частичных коммитов Git, Android Studio 3.0

JetBrains выпустила IntelliJ IDEA 2018.1 – первое большое обновление в этом году. В нем вас ждет множество важных улучшений: поддержка частичных коммитов Git, отображение внешних аннотаций в коде, функциональность, добавленная из Android Studio 3.0

Улучшения в автодополнении кода

Теперь автодополнение поддерживает приведение типов в цепочках вызовов Stream API. Автодополнение кода предлагает не только вариант дополнения, соответствующий имеющемуся вызову filter(String.class::isInstance), но также и вариант с автоматическим приведением типа.

В новом релизе также было улучшено постфиксное автодополнение кода. Теперь IDE позволяет создавать свои собственные шаблоны Java, а также изменять и переименовывать предопределенные шаблоны Java, в разделе настроек Preferences | Editor | General | Postfix Completion.

Улучшенный анализ потоков данных

Улучшен анализ потоков данных: теперь он способен определять более широкий спектр проблем в коде.
 Прежде всего, анализ потоков данных теперь отслеживает отношения между переменными, такие как «больше чем» и «меньше чем». При сравнении переменных во всех возможных ветвях кода IDE определяет условия, которые всегда являются истинными (или ложными). Также анализ потоков данных теперь работает с незавершенными цепочками Stream API.

IDE теперь показывает предупреждение при попытке присвоить переменной значение, которое она уже содержит. Это может помочь в обнаружении и удалении избыточного кода.

Также IDE предупреждает об изменении неизменяемых (immutable) коллекций.

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

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

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

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

Если в коде присутствует конструктор копирования, копирующий не все поля класса, будет показано уведомление. Обратите внимание, что IDE не учитывает поля с модификатором типа transient как обязательные для копирования.

Новая IntelliJ IDEA теперь предупреждает вас об очевидно избыточных вызовах close() и предоставляет быстрое исправление (quick-fix) для их удаления.

При наличии в module-info.java упоминания отсутствующего класса IDE теперь предлагает создать его. То же самое относится и к отсутствующим экспортируемым пакетам. (IDE создает пакет с классом в соответствующей директории, так как экспортировать пустые пакеты в Java 9 нельзя.)

Генерация кода

При создании тестового класса IntelliJ IDEA по умолчанию добавляет «Test» в конец названия класса. Теперь можно настроить шаблон тестового класса так, чтобы «Test» добавлялось в начало его названия. Настроить это можно в Preferences | Editor | Code Style | Java | Code Generation.

Отладчик JVM

Новое действие Throw Exception позволяет генерировать исключение из определенного места в программе без изменения кода. Действие доступно из меню Run | Throw Exception или же из контекстного меню фрейма во время сессии отладки.

Вывод трассировки стека для точек прерывания

Новая IntelliJ IDEA 2018.1 позволяет выводить в консоль трассировку стека для точек прерывания. Для этого нужно включить настройку Stacktrace в диалоговом окне Breakpoints. IDE также позволяет видеть в журнале консоли трассировки стека для нескольких точек прерывания одновременно.

Компилятор Java

На страницу Java Compiler в настройках (Preferences | Build, Execution, Deployment | Compiler | Java Compiler) добавлен новый флажок Use --release option for cross-compilation (Java 9 and later), который установлен по умолчанию. Если нужно использовать с Java 9 параметры --source и --target, одновременно выполняя линковку с классами Java 9, этот флажок можно снять.
Также теперь можно использовать определенную версию компилятора ECJ. В раскрывающемся меню Use Compiler выберите Eclipse и укажите путь к jar-файлу компилятора.

Редактор

В IntelliJ IDEA можно добавлять к коду внешние аннотации, даже когда прямая аннотация исходного кода невозможна (например, в случае с классами библиотек). Настроить аннотации можно в файлах annotations.xml, хранящихся за пределами исходного кода.

Другие новости