IntelliJ IDEA 2021.3 предлагает поддержку удаленной разработки (в режиме бета-версии) и представляет новый способ диагностики и устранения проблем в работе IDE с помощью действия Repair IDE.... Кроме того, мы обновили отладчик и добавили инспекцию постоянных условий для Kotlin, а также внесли много других важных изменений. Читайте далее о полезных возможностях новой версии.
IntelliJ IDEA Ultimate поддерживает процесс удаленной разработки в бета-режиме. Теперь вы можете подключаться к удаленному серверу, на котором запущен бэкенд IntelliJ IDEA, из любой точки мира. Вся обработка данных выполняется на мощной удаленной машине, а вы работаете над проектом, как будто он размещен локально. К этой функции можно перейти с начального экрана IntelliJ IDEA или из нового приложения JetBrains Gateway, которое устанавливается через JetBrains Toolbox App.
Создавать и настраивать удаленные среды разработки, управлять ими, переводить их в режим гибернации и приглашать коллег к совместной работе можно с помощью Space — универсальной платформы, охватывающей весь пайплайн разработки.
Подробнее об этом читайте в нашем блоге.
В IntelliJ IDEA 2021.3 появился новый, более быстрый способ диагностики и устранения проблем, которые мешают работе IDE. Если возникли проблемы, вызовите новое действие Repair IDE... через меню File и выполните предложенную последовательность шагов. Таким образом можно исправить наиболее распространенные неполадки.
Мы добавили инспекцию Constant conditions, которая позволяет IntelliJ IDEA сообщать о нетривиальных условиях и значениях, которые должны всегда являться истинными, ложными или нулевыми. Она работает так же, как аналогичная инспекция для Java, и поддерживает основную часть тех же проверок. Перейти к новой инспекции можно в Preferences/ Settings | Editor | Inspections | Kotlin | Probable bugs.
При отладке выражения, содержащего цепочку вызовов методов и лямбд, действие Step Into работает по умолчанию как Smart Step Into. Оно подсвечивает методы и лямбды, в которые можно зайти. Чтобы воспользоваться действием, нажмите кнопку Step Into на верхней панели окна Debug или клавишу F7. IDE подсветит места для захода в код, и можно будет выбрать нужную строку, щелкнув по ней.
В новой версии отладчик умеет находить inline-функции Kotlin и показывать их вызовы на панели трассировки стека. Вы можете перейти к этим вызовам, наблюдая и изменяя значения переменных в каждом фрейме.
По вашим просьбам мы сделали так, чтобы можно было изменить размер шрифта во всех вкладках одновременно с помощью сочетания ⌘+колесико мыши в macOS и Ctrl+колесико мыши в Windows и Linux. Чтобы включить эту функцию, в меню Preferences / Settings | Editor | General поставьте флажок Change font size with Command / Ctrl + Mouse Wheel in, а затем выберите настройку All editors. Если выбрать вариант Active editor, размер шрифта будет меняться только в том файле, в котором вы работаете в этот момент.
В IntelliJ IDEA есть полезная функция, позволяющая посмотреть результаты intention-действий и быстрых исправлений до их применения к коду. Она доступна в меню Intention actions. Чтобы включить предпросмотр, нажмите F1 в macOS или Ctrl+Q в Windows и Linux.
Предварительный просмотр intention-действий появился в версии 2020.1, и с тех пор мы работаем над его улучшением. В IntelliJ IDEA 2021.3 расширен список поддерживаемых intention-действий и быстрых исправлений для Kotlin, а вместо сообщения «Preview isn't available» (Предварительный просмотр недоступен) появились более информативные HTML-описания неподдерживаемых intention-действий. Более того, для действий, изменяющих несколько файлов, предварительный просмотр частично показывает возможные результаты. Они дают общее представление о том, что изменится в результате применения действия.
В IntelliJ IDEA 2021.3 очень удобно создавать таблицы. Просто откройте контекстное меню и нажмите Insert | Table. Только и всего. Чтобы выбрать нужный размер, наведите мышку или воспользуйтесь клавиатурой.
Ширина ячеек в таблице будет меняться по мере ввода кода. Изменить содержимое таблицы можно с помощью плавающих панелей инструментов.
Для перехода к новой ячейке нажмите Tab, а чтобы добавить ряд — Shift+Enter.
Работать со вкладками редактора стало проще. Чтобы получить доступ ко всем действиям на вкладках, просто нажмите на три точки в правом верхнем углу панели вкладок.
Новое окно Bookmarks заменяет прежнее окно Favorites похожего назначения. Теперь любые важные файлы, папки и классы можно отметить, просто нажав F3 в macOS или F11 в Windows и Linux.
При добавлении закладки IntelliJ IDEA по умолчанию помещает ее в узел в окне Bookmarks, имеющий то же название, что и текущий проект. Каждая новая закладка занимает первую строчку списка в этом узле. Закладки можно отсортировать по типу с помощью параметра Sort Groups and Bookmarks в настройках окна. Кроме того, можно создать новые узлы и перетащить туда закладки.
В версии 2021.3 мы добавили возможность разделять окно Run, используя вкладки. Благодаря этому можно запускать одновременно несколько конфигураций и видеть все результаты.
Чтобы разделить окно Run, перетащите нужную вкладку в выделенную область. Чтобы объединить вкладки, кликните правой кнопкой мыши по верхней панели и выберите Unsplit в контекстном меню.
Теперь при поиске действий через Search Everywhere используется машинное обучение. Новый алгоритм поиска учитывает:
Мы надеемся, что модели поиска на основе машинного обучения окажутся более эффективными и будут выдавать результаты, соответствующие вашим ожиданиям.
Если вы ищете использования реализации метода с помощью сочетаний клавиш ⌥F7 в macOS или Alt+F7 в Windows и Linux, IDE больше не спрашивает, нужно ли искать использования базового метода. Вместо этого IntelliJ IDEA по умолчанию использует методы более высокого уровня в качестве объекта поиска. Чтобы изменить такое поведение, снимите флажок Search for base method usages в настройках окна Find Usages (открывается при нажатии на значок шестеренки).
В диалоге Show Usages появилось несколько новых полезных функций. Мы добавили предпросмотр исходного кода для найденных использований. Он доступен при нажатии на квадратный значок на верхней панели инструментов. Еще одно обновление позволяет менять область поиска с помощью нового раскрывающегося списка, который размещен рядом со значком Preview. Кроме того, в заголовке окна теперь отображается тип искомого элемента кода и количество найденных использований.
Еще одно небольшое, но удобное изменение: теперь можно отрегулировать ширину окна. IDE запомнит эту настройку и использует ее при следующем вызове окна.
В версии 2021.3 мы изменили узлы мастера создания проектов IntelliJ IDEA.
Теперь, чтобы создать простой проект для работы с отдельными файлами разных типов и добавить в него классы Java и Kotlin, можно выбрать узел Empty Project. IDE автоматически сконфигурирует проект, чтобы его можно было скомпилировать при наличии любых классов Java или Kotlin.
Новый узел Multi-Module Project позволяет с нуля создать проект со сложной структурой. После создания проекта открывается диалог Project Structure, в котором можно добавить разные модули.
В IntelliJ IDEA 2021.3 исправлены некоторые недочеты режима специальных возможностей, чтобы сделать работу с инструментом чтения с экрана более удобной. По вашим просьбам мы отключили всплывающее окно со списком окон инструментов и всплывающее окно быстрого просмотра документации, которые появлялись по наведению мыши. Кроме того, мы устранили проблему с вызовом диалога Go to Declaration.
Поддержка режима специальных возможностей на macOS также была улучшена. Мы устранили ряд проблем с фокусом VoiceOver и убрали некоторые подсказки со звуком, чтобы вы меньше отвлекались. При создании проекта инструменты чтения с экрана теперь могут находить пункты списка в мастере New Project.
Новая версия предупреждает пользователя о возможных рисках, например, о вставке SQL-кода и слабых местах XSS, утечке конфиденциальных данных и небезопасной десериализации. Кроме того, это предотвращает передачу небезопасных данных безопасным методам. За дополнительные предупреждения отвечает новая инспекция Non-safe string is passed to a safe method.
Чтобы она работала, нужно использовать для строк аннотации @Untainted
(«безопасная») или @Tainted
(«небезопасная»). Эти аннотации действительны, если добавить зависимость org.checkerframework.checker.tainting.qual
dependency.
Две новые инспекции помогут упростить код. Первая предлагает заменить collect(toList())
на .toList()
. Ее можно использовать с Java 16 и более поздними версиями. Другая инспекция предлагает заменить collection.addAll(List.of("x"))
на collection.add(x)
, а map.putAll(Map.of("a", "b"))
на map.put("a", "b")
.
При вводе локальной переменной в Java больше не открывается всплывающее окно с настройками, закрывающее код, над которым вы работаете. Если нужно перейти к настройкам, щелкните на значок шестеренки рядом с переменной либо нажмите сочетание клавиш ⌥⇧O в macOS или Alt+Shift+O в Windows.
Кроме того, мы улучшили рефакторинг Introduce parameter. При его вызове (⌥⌘P в macOS и Ctrl+Alt+P в Windows и Linux) IDE спросит, где именно нужно заменить найденные вхождения. Когда вы выберете нужное, появится значок шестеренки. При нажатии на него можно будет настроить и другие параметры рефакторинга.
Иногда бывает нужно определить пользовательские classpath в диалоге Run/Debug Configurations для отдельных конфигураций. Теперь это можно сделать в меню Modify options | Modify classpath.
Мы добавили новый рефакторинг, который позволяет извлекать константы в Kotlin. Чтобы использовать его, поместите курсор в строку и нажмите ⌥⌘C в macOS или Ctrl+Alt+C в Windows и Linux.
Инспекция Possibly blocking call in non-blocking context сообщает о том, что корутины используются в неверном контексте. В новой версии инспекция работает не только как предупреждение, но и предлагает автоматическое исправление.
Кроме того, мы внесли дополнительные улучшения. Теперь инспекция покрывает больше возможных ошибок, и ее можно настроить, чтобы она эффективнее работала в конкретном окружении.
Иногда сложно разобраться в разных способах объявления диапазонов, поддерживаемых Kotlin. Чтобы упростить написание кода, мы добавили встроенные подсказки, которые с помощью простых математических знаков объясняют, что значат слова или символы в диапазонах. Если эта функция вам не нужна, ее легко отключить, щелкнув правой кнопкой по подсказке и выбрав Disable ‘Ranges’ hints type.
Мы переработали интерфейс мастера создания проектов, добавив подсказки для всех полей, чтобы можно было сразу понять, какую информацию следует ввести. Раздел шаблонов также обновлен: мы убрали несколько редко используемых шаблонов и добавили новый для создания приложений Compose Web.
И наконец, настраивать проект стало гораздо проще. Достаточно заполнить только основные поля.
Основное внимание при подготовке этого релиза мы уделили поддержке Scala 3. Мы добавили подсветку, навигацию и автодополнение для маркеров end
. Появилось автодополнение для ключевых слов given
, using
и export
, для мягких ключевых слов и «тихого» синтаксиса. Инструмент чтения TASTy теперь может обрабатывать package object
, а также вариантность и связи в более высоких типах. Подсветка ошибок лексеров и парсеров теперь работает гораздо быстрее. Есть новые инспекции, совместимые со Scala 3. Мы улучшили разрешение импортов given
и внедрили поддержку членов final
верхнего уровня, а также абстрактных lazy val
.
Многие проекты, компилируемые одновременно для Scala 2 и Scala 3, создаются по модели проектов Scala 3 с кросс-компиляцией для Scala 2, хотя с технической точки зрения это проекты Scala 2.
Если открывать такие проекты как Scala 2, IDE будет использовать правильную версию Scala и работать надежнее.
Теперь плагин Scala поддерживает анализ потоков данных, что упрощает поиск ошибок в коде. Подробнее об этом читайте в нашем блоге.
У компилятора Scala много разных параметров, и мало кто помнит их наизусть. К тому же они зависят от используемой версии Scala.
Мы добавили функцию автодополнения для применимых параметров и быстрый просмотр документации по каждому из них.
Вам приходилось когда-нибудь гадать, является ли диапазон 1 to 3
инклюзивным или эксклюзивным? А диапазон 1 until 3
? Или Range(1, 3)
? Теперь это в прошлом, и ответ очевиден.
IntelliJ IDEA 2021.3 позволяет обновить npm-пакеты до новой версии прямо из редактора! Откройте файл package.json, установите курсор на версию пакета, который нужно обновить, нажмите ⌥⏎ в macOS или Alt+Enter в Windows или Linux и выберите Update ‘имя пакета’ to the latest version. Кроме того, при наведении курсора на версию пакета отобразится быстрое исправление.
Мы улучшили работу автодополнения в HTML. Теперь при вводе имени тега или аббревиатуры и при вызове автодополнения IntelliJ IDEA показывает подходящие варианты сразу же. Раньше нужно было сначала ввести символ <. Кроме того, в новой версии лучше работает функция автодополнения для мнемоников.
Эта долгожданная функция позволяет указать в меню Preferences/Settings | Tools | SSH Configurations указать прокси-сервер HTTP или SOCKS для конфигурации SSH. В новом разделе HTTP/SOCKS можно выбрать тип прокси, ввести имя хоста и порт, а также при необходимости включить аутентификацию по имени пользователя и паролю. Кроме того, можно синхронизировать настройки SSH-прокси с общими настройками IDE. Для этого нужно поставить флажок Use global IDE proxy settings.
.jfr
В новой версии стало удобно проверять результаты сделанных изменений, чтобы понять, дали ли они ожидаемый эффект или привели к ухудшению. Для этого нужно открыть два снэпшота в окне Profiler и сравнить их. На более позднем снэпшоте нажмите значок diff и выберите снэпшот, используемый в качестве точки отсчета. IDE отобразит результат в виде флейм-графа, дерева вызовов или списка методов.
В версии 2021.2 мы добавили поддержку Async Profiler 2.0 в IntelliJ IDEA для macOS и Linux. Теперь поддержка Async Profiler 2.0 доступна и в Windows. Она делает более удобным профилирование, а также улучшает представление нативных функций в снэпшотах.
Мы постарались улучшить конфигурации Run/Debug: в этот раз были заметно обновлены настройки Maven. Все основные параметры теперь собраны в одном окне, а к дополнительным настройкам можно перейти по ссылке Modify options.
Чтобы сохранить настройки Maven для каждого проекта в файле .mvn/maven.config, перейдите в Preferences/ Settings | Build, Execution, Deployment | Maven и выберите Use settings from .mvn/maven.config в нижней части экрана. Не забудьте, что настройки, сохраненные в этом файле, имеют приоритет перед стандартными настройками интерфейса Maven.
Чтобы получить ветку из репозитория и перебазировать ее поверх текущей ветки, используйте функцию Checkout and Rebase onto Current. Раньше она была доступна только для локальных веток, но в IntelliJ IDEA 2021.3 работает и для удаленных веток.
Мы улучшили структуру настроек в меню Preferences/Settings | Version Control и упростили доступ к некоторым важным конфигурациям. Теперь узел Version Control стал исходной точкой навигации: там есть ссылки на все доступные настройки. Перейдя оттуда к узлу Git, вы увидите, что все настройки разбиты на разделы, соответствующие основным процессам: Commit, Push и Update. Параметры, включенные в эти разделы, размещены более логичным образом. Кроме того, добавлен отдельный узел Directory mappings, а фоновые операции включены по умолчанию. Узел Background был удален.
Начиная с версии IntelliJ IDEA 2021.3, различия между коммитами будут отображаться в отдельном окне Changes. Оно находится слева от редактора.
Новое действие позволяет передавать на сервер только те коммиты, работа над которыми завершена (остальные будут по-прежнему храниться локально).
Теперь вы можете отправить в удаленный репозиторий все коммиты вплоть до коммита, выбранного во вкладке Log окна Git. Для этого выберите коммит, на котором вы хотите остановиться, кликните по нему правой кнопкой мыши для вызова контекстного меню и выберите Push All up to Here.
Мы добавили в настройки экрана Diff (под значком шестеренки) новый параметр Align Changes Highlighting. Эта настройка упрощает восприятие информации на экране Diff, особенно при сложных изменениях: строки без изменений отображаются друг напротив друга. В результате вы четко видите, какой код был добавлен или удален.
In v2021.3, we’ve introduced support for the new ConPTY API on Windows. It addresses several issues users were having with the old implementation, which was based on winpty, and adds support for 24-bit colors in the terminal.
В терминале IntelliJ IDEA появилась поддержка опережающего ввода: она предсказывает, какие символы вы собираетесь вводить, и сразу же отображает их в светло-сером цвете. Это позволяет набирать код в терминале с одинаковой скоростью независимо от того, работаете вы на локальной или на удаленной машине.
В новой версии найти функцию Evaluate стало гораздо проще. Раньше, когда нужно было вычислить выражение, многие использовали отслеживание переменных: сначала создавали watches, потом удаляли, вместо того чтобы использовать диалог Evaluate. Теперь поле Evaluate доступно прямо в окне Debug, и это самый удобный способ вычисления выражений.
HTTP-клиент IntelliJ IDEA предлагает базовую поддержку gRPC-запросов. Если набрать ключевое слово GRPC, чтобы создать запрос, HTTP-клиент предложит варианты автодополнения. IDE даст подсказку обо всех известных gRPC-сервисах, унарных методах и методах потоковой передачи данных конкретного сервера, а главное — обо всех полях тела запроса.
Еще одна новая функция позволяет создавать gRPC-запрос в HTTP-клиенте. Для этого просто щелкните по иконкам на полях редактора файлов .proto
.
HTTP-клиент может находить изображения в ответах и обеспечивает их предварительный просмотр в консоли ответа.
При тестировании приложений, выполняющих потоковую передачу данных в IntelliJ IDEA, больше не нужно ждать окончания потока: HTTP-клиент отображает результаты в реальном времени. Это возможно благодаря поддержке новых типов контента: text/event-stream, application/stream+JSON и application/x-ndjson. Кроме того, IDE уведомит вас об окончании потока.
В HTTP-клиенте можно настроить перенаправление вывода в заданный файл или директорию. Для принудительного и мягкого перенаправления используются два оператора:
>>
всегда создает новый файл, добавляя к его имени суффикс -n, если такое имя уже существует; >>!
перезаписывает файл, если он уже существует. Идентификаторы запросов можно добавлять либо в виде комментариев с использованием @name, либо в виде текста в первом разделителе (###). IDE распознает эти идентификаторы и позволяет использовать их для вызова запросов из окна Services, а также из диалогов Run Configuration, Run Anything и Search Everywhere.
Новая версия в числе прочих языков шаблонов поддерживает Qute. Благодаря этому IntelliJ IDEA обеспечивает подсветку и автодополнение кода, а также другие полезные возможности для разработки шаблонов для проектов Quarkus.
IntelliJ IDEA может находить спецификации OpenAPI, сохраненные в нескольких файлах и связанные с помощью $ref
, и обеспечивает автодополнение.
We’ve made 2 additions to the JetBrains annotation collection. Если добавить в зависимости проекта org.jetbrains:annotations:23.0.0, можно добавлять к классам и методам аннотации @Blocking
и @NonBlocking
. В результате IDE сможет находить блокирующие вызовы в неблокирующем контексте, например, в корутинах Kotlin или в реактивном коде Project Reactor, RxJava и SmallRye Mutiny.
Кроме того, IDE автоматически обеспечивает поддержку соответствующих аннотаций из Micronaut и SmallRye Mutiny.
Новая версия IntelliJ IDEA обнаруживает больше случаев блокирующего кода в Spring и Java EE, включая интерфейсы JpaRepository и CrudRepository для Spring Data, шаблоны RestTemplate и JdbcTemplate, методы интерфейса Spring Feign, вызовы JPA EntityManager, а также любые методы и классы с аннотацией @Transactional
.
Мы переработали диалог Run/Debug Configurations для проектов Spring Boot, и теперь он похож на обновленные ранее настройки для Java. В новом интерфейсе все основные настройки собраны в одном окне, а для доступа к другим параметрам нужно нажать Modify Options.
Теперь IntelliJ IDEA предлагает автодополнение кода в дополнительных файлах конфигурации (файлы properties или .yaml
), если для ссылки на другой файл используется ключ spring.config.import. Кроме того, улучшена настройка сложных и пользовательских файлов конфигурации Spring Boot.
Новая версия IDE поддерживает в проектах Spring Boot автодополнение кода и поиск использований ссылок на application.yaml в @Value
, @Scheduled
и Environment.getProperty()
.
@NamedQuery
из репозиториев Spring Data Автодополнение методов запросов теперь работает и для запросов, объявленных как @NamedQuery
в проектах Spring Data JPA. К определению @NamedQuery
также можно перейти, щелкнув по иконке на полях редактора.
Начиная с версии 2021.3, в файлах Kotlin можно использовать все инспекции CDI. Раньше они работали только в файлах Java. Кроме того, мы добавили на поля редактора файлов Kotlin иконки CDI. С их помощью удобно переходить к точкам внедрения и кандидатам на внедрение, производителям bean-компонентов, методам очищения объектов и событиям.
Мы ускорили все процессы для диаграмм классов UML как в Java, так и в Kotlin. Открытие диаграмм, переключение между категориями, масштабирование, а также отмена и повторение действий теперь занимают гораздо меньше времени. Среди других важных изменений — новая таблица, подсветка членов класса и всплывающее окно быстрого просмотра документации.
Если вам нужно проверить внешний вид диаграммы, откройте контекстное меню и нажмите Appearance.
Мы добавили возможность выбрать режим Aggregate для просмотра диапазона ячеек. Он поможет управлять данными, позволит не писать дополнительные запросы и даст вам новые возможности из арсенала Excel и Google Spreadsheets.
Выберите диапазон ячеек, к которому вы хотите применить агрегатные функции, кликните по нему правой кнопкой мыши и выберите Show Aggregate View.
В предыдущей версии появилась возможность создавать источники данных DDL на основе реальных. Мы продолжили развивать это направление, и теперь процесс поддерживается полностью. Вы можете:
Напоминаем, что источник данных DDL — это виртуальный источник данных, схема которого основана на наборе SQL-скриптов. Сохраняя эти скрипты в системе контроля версий, вы по сути сохраняете в ней схему вашей базы данных.
В настройках конфигурации данных появилась новая вкладка DDL mappings, на ней можно соотнести виртуальные источники данных с реальными.
Окно для сравнения баз данных теперь можно открыть из контекстного меню. У него улучшен интерфейс, и результат синхронизации будет четко отображаться справа.
Здесь же указывается, что обозначают различные цвета:
Вкладка Script preview показывает результирующий скрипт. Вы можете запустить его в этом же окне либо открыть в новой консоли. Выполнив скрипт, вы преобразуете базу данных справа (целевую) в идентичную базе данных слева (исходной).
Кроме Script preview в нижней панели есть еще две вкладки: Object Properties Diff и DDL Diff. В них показана разница между исходными объектами и объектами целевых баз данных.
Мы ввели три уровня интроспекции баз данных Oracle:
Интроспекция на первом уровне самая быстрая, на третьем — самая долгая. Чтобы изменить уровень интроспекции, воспользуйтесь контекстным меню.
Уровень интроспекции можно настроить для схемы или для целой базы данных. Схемы наследуют уровень интроспекции от своей базы данных, но вы также можете настроить его вручную.
Уровень интроспекции обозначается значком, похожим на пилюлю, рядом с иконкой источника данных. Чем больше наполнена пилюля, тем выше уровень интроспекции. Синий цвет означает, что уровень интроспекции был выбран вручную, а серый — что уровень был унаследован.
В ходе крупного обновления была добавлена поддержка автоматизации тестирования интерфейса в Selenium — теперь визуальный редактор помогает поддерживать существующие классы объектов страницы. Раньше можно было только создавать новые классы объектов страницы, а теперь можно даже обновить существующие классы напрямую, без визуального редактора. IntelliJ IDEA автоматически находит классы объектов страницы и помечает их соответствующей иконкой на полях. Нажмите на поле редактора, чтобы открыть визуальный редактор и выбрать новые элементы для добавления в класс объектов страницы.
В новом плагине из набора для автоматизации тестирования исправлены небольшие ошибки и добавлена полезная функция в настройки генератора различных типов тестовых данных. Теперь можно использовать многострочное определение для изменения префикса, суффикса и разделителя.
Мы реализовали поддержку многоуровневого запуска тестов. Теперь можно создать несколько дочерних запусков для определенных областей функциональности или типов тестирования. Каждый родительский запуск теста объединяет результаты дочерних запусков и предоставляет общую статистику по всем подчиненным запускам.
Если вы используете для управления тест-кейсами в файлах Markdown нашу функцию Local TMS, то можете легко объявлять шаги тестов и делать их общими для нескольких тест-кейсов. Общие шаги объявляются как обычный тест-кейс с уникальным числовым ID. На этот тест-кейс можно сделать ссылку в других тест-кейсах, и IntelliJ IDEA подставит шаги, на которые сделана ссылка, при создании предпросмотра, тестового запуска или шаблона кода для автоматического теста.
Теперь при форматировании шаблонов Helm вы можете быть уверены в результате. Мы исправили все ошибки, поэтому форматирование в новой версии работает гораздо надежнее. Чтобы убедиться в этом, перейдите в меню Code | Reformat code or Reformat file или нажмите ⌥⌘L в macOS или Ctrl+Alt+L в Windows и Linux.
Мы добавили подсветку блочных элементов if
, else
, range
, with
и define
в шаблонах Helm. Благодаря этому работать с кодом, содержащим вставки из шаблонов Go, стало гораздо проще.
Новая версия IntelliJ IDEA поддерживает автоматические вставки кода на разных языках в ресурсах ConfigMap для ключей с расширениями .yaml
, .json
, .properties
и т. п. Вставленные фрагменты кода подсвечиваются зеленым, и в них работают функции анализа кода, в том числе автодополнение, подсветку ошибок и т. п.
В новой версии можно повторно выполнить последнюю команду helm в окне Services: просто щелкните по новой иконке в правом верхнем углу. Например, если вы выполнили команду helm lint, то после ее завершения можно повторить выполнение, нажав на иконку.
Теперь подключиться к демону Docker из Minikube очень просто. В меню Preferences/ Settings | Build, Execution, Deployment выберите переключатель Minikube. В соседнем текстовом поле автоматически появятся найденные в Minikube окружения docker-daemon, к которым можно подключиться.
Теперь подключиться к Docker можно быстрее: достаточно дважды щелкнуть по нужному узлу или воспользоваться новым сочетанием клавиш — ⌘Enter в macOS или Ctrl+Enter в Windows и Linux. Действие Start container также вызывается этим сочетанием клавиш.
The new Clean up action works just like the prune terminal command. Если щелкнуть правой кнопкой по узлу Networks, Volumes, Containers или Images и выбрать Clean up, IDE удалит неиспользуемые объекты. Действие можно также применить к корневому узлу Docker, чтобы одним кликом удалить все ненужные объекты.
IntelliJ IDEA supports Compose V2, which allows you to run Docker Compose commands as docker compose, instead of docker-compose (with a dash).
Чтобы включить эту функцию, перейдите в меню Preferences/Settings | Build, Execution, Deployment | Docker | Tools и поставьте флажок Use Compose V2.
Image layers allow you to track all the commands that are applied to images. Чтобы перейти к ним, выберите образ и откройте вкладку Layers. На этой вкладке, выбрав команду, можно щелкнуть по ссылке Analyze image for more information в правой части экрана и посмотреть подробную информацию об изменениях для каждого слоя.
Если вы хотите использовать предварительно настроенный контейнер позже, его можно сохранить как локальный образ, перенести на сервер и затем при необходимости использовать удаленно. Откройте окно Services, щелкните правой кнопкой на контейнере и выберите Image | Save as a new Image.
Мы внесли ряд изменений в реестр Docker. First off, the IDE now displays all available registries in separate nodes in the Services tool window. Раньше поддерживался только реестр Docker Hub. В версии 2021.3 добавлена поддержка GitLab (registry.gitlab.com) и JetBrains Space (<username>.registry.jetbrains.space).
Узлы окна Services можно развернуть, выбрать нужный образ и перетащить его в требуемое место. Если у вас несколько подключений к Docker, IDE спросит, куда именно переместить образ. Образы можно отправить в любой добавленный реестр. В диалоге Push IDE автоматически находит доступные пространства имен в выбранном реестре, после чего можно выбрать нужное из раскрывающегося списка.
И еще кое-что: для образов из реестров JetBrains Space, GitLab и Docker Hub работает автодополнение.
IntelliJ IDEA now supports Podman as an alternative way to manage pods, containers, and images. Before using Podman in the IDE, configure a connection yourself.
После установки и настройки Podman в операционной системе к нему можно подключиться в меню Preferences/Settings | Build, Execution, Deployment | Docker, выбрав переключатель TCP socket и заполнив необходимые поля.
Теперь вы можете создавать merge-реквесты и код-ревью для проектов в Space. Это можно сделать двумя способами:
+
на верхней панели инструментов в окне Code Reviews и выберите нужное действие; Подробнее об этом — в нашем блоге или на гифках ниже.
Все отправленные на код-ревью файлы, которые еще не были проверены, отмечены синими точками, пока вы их не откроете. Так вы не пропустите критически важные изменения. Если вы хотите проверить изменения позже, воспользуйтесь опцией Mark as Not Viewed из контекстного меню. Эта функция работает также для пул-реквестов GitHub.