В этой версии мы представляем AI Assistant — сервис, расширяющий возможности разработки с помощью набора функций на основе искусственного интеллекта. Обновленный IntelliJ-профилировщик теперь дает подсказки в редакторе для более интуитивного и информативного профилирования. Вас также ждет интеграция с GitLab, позволяющая оптимизировать рабочий процесс, и множество других значимых нововведений и улучшений, о которых мы рассказываем далее.
В этой версии мы представляем важное дополнение к IntelliJ IDEA — AI Assistant. Текущий набор функций AI Assistant включает в себя чат-бота на основе искусственного интеллекта, автоматическое создание документирующих комментариев, предложение имен, генерацию сообщений коммитов и многое другое.
AI Assistant работает на базе сервиса JetBrains AI, который сейчас подключается к OpenAI, а в будущем будет интегрирован с другими языковыми моделями. Для доступа к функциям ассистента нужно установить плагин AI Assistant и войти в сервис JetBrains AI, используя свой JetBrains-аккаунт. На начальном этапе доступ к сервису может быть ограничен. Подробнее об AI Assistant и о том, как получить к нему доступ, читайте в нашем блоге.
Мы усовершенствовали IntelliJ-профилировщик, чтобы предоставлять вам более ценную информацию о производительности вашего приложения, которую легко интерпретировать. С новыми подсказками в редакторе легко анализировать производительность кода построчно, чтобы быстро выявлять и устранять проблемы. Новые аннотации на полях привлекают внимание к критическим методам — так вы можете сосредоточиться на наиболее узких местах производительности. Благодаря этому вам больше не придется проводить тщательный анализ в представлениях Flame Graph и Call Tree, отнимающий много времени. Подробнее читайте в нашем блоге.
В IntelliJ IDEA 2023.2 появилась интеграция с GitLab для оптимизации вашего рабочего процесса. Теперь вы можете работать с функцией Merge Request прямо из IDE: просматривать список реквестов, проверять изменения, оставлять комментарии и переходить к соответствующим представлениям. Подробнее
Функция Search Everywhere (двойное нажатие Shift) в основном используется для поиска файлов, классов, методов, действий и настроек. Теперь она включает в себя и текстовый поиск, аналогичный Find in Files. Результаты текстового поиска отображаются в тех случаях, когда по заданному запросу мало или вообще нет других результатов. По умолчанию текстовый поиск включен, но вы можете изменить настройки в разделе Settings/Preferences | Advanced Settings | Search Everywhere.
В IntelliJ IDEA 2023.2 заголовки проектов стали цветными. Это упрощает навигацию, когда открыто несколько проектов. Каждому проекту можно присвоить уникальный цвет и значок, чтобы вам было проще различать их во время работы. Цвета заголовков определены заранее, но вы можете настроить их, как вам нравится. Чтобы задать цвет для проекта, кликните правой кнопкой мыши по заголовку окна, зайдите в контекстное меню, нажмите Change Toolbar Color и выберите желаемый цвет из списка или на палитре. Чтобы отключить эту функцию, просто снимите флажок с опции Show Project Gradient в контекстном меню.
В новом интерфейсе на Windows и Linux изменился дизайн меню на главной панели инструментов. Теперь элементы меню отображаются по горизонтали на панели инструментов. Кроме того, это меню можно превратить в отдельную панель с помощью опции View | Appearance | Main menu as a Separate Toolbar.
В IntelliJ IDEA 2023.2 появилось долгожданное упорядочивание файлов по времени изменения. Пересортировка файлов происходит автоматически при сохранении изменений в проекте. Чтобы включить эту функцию, нажмите на три точки на панели Project и выберите Tree Appearance | Sort by Modification Time.
Мы усовершенствовали светлую тему, добавив альтернативный вариант Light with Light Header. В нем заголовки окон, всплывающие подсказки и уведомления тоже светлые.
При работе в полноэкранном режиме на macOS элементы управления окном теперь располагаются прямо на главной панели инструментов, а не на плавающей панели, как было раньше.
Для удобства пользователей Linux мы убрали из нового интерфейса нативный заголовок операционной системы, уменьшив таким образом визуальный шум. Теперь по умолчанию вы видите только заголовок окна IDE, который можете настроить, как вам нравится. Если вы хотите вернуть прежний вид заголовка, снимите флажок Merge main menu with window title в разделе Settings | Appearance & Behavior | Appearance | UI Options.
В разделе Settings / Preferences | Editor | Inspections теперь работает подсветка синтаксиса в примерах кода. Так проще понять, что активирует инспекцию, и решить, нужна она вам или нет.
Новая опция Open Directories with Single Click позволяет быстрее разворачивать и сворачивать папки проектов на панели Project. Вы найдете ее в выпадающем меню, если нажмете на три точки.
Мы расширили возможности кастомизации главной панели инструментов в новом интерфейсе. Теперь в выпадающем меню можно быстро выбрать действия, которые вы хотите добавить на панель. Для этого кликните правой кнопкой мыши по любому виджету и выберите опцию Add to Main Toolbar, чтобы увидеть доступные варианты.
Чтобы вам было проще настраивать IntelliJ IDEA под ваши проекты и расширять функциональность IDE при помощи плагинов, мы переработали интерфейс раздела Settings | Plugins. Теперь вы найдете там список рекомендуемых плагинов, составленный с учетом особенностей вашего проекта.
Мы переработали интерфейс для действий запуска и отладки в окне Services, чтобы привести внешний вид этой панели инструментов в соответствие виджету Run/Debug на главной панели IDE.
Чтобы вам было проще управлять несколькими конфигурациями запуска, наиболее часто используемые из них теперь можно закреплять в виджете Run. Для этого нажмите на три точки рядом с названием конфигурации и в открывшемся меню выберите Pin. Если вы хотите изменить порядок закрепленных конфигураций, просто перетащите их вверх или вниз по списку.
Мы улучшили и расширили Java-инспекции, чтобы вы могли поддерживать высокое качество кода и эффективнее выявлять потенциальные проблемы. Новая инспекция Incorrect ‘MessageFormat’ pattern предупредит о несоответствии ссылок шаблона аргументам, а также обнаружит неправильное использование кавычек и скобок в шаблонах MessageFormat
. Кроме того, IDE теперь сообщает о вызовах с явными аргументами ChronoField
и ChronoUnit
и предлагает заменить их на вызовы более конкретных методов, тем самым упрощая код. Подробнее о новых инспекциях и других улучшениях механизма анализа кода читайте в нашем блоге.
Теперь при наведении курсора на спецификатор формата IDE будет подсвечивать соответствующий аргумент и другие спецификаторы, указывающие на него. Кроме того, можно использовать действие Go To Declaration (Ctrl+B) для перехода к месту в коде, соответствующему спецификатору строки форматирования.
@snippet
в комментариях Javadoc В IntelliJ IDEA улучшена функциональность тега @snippet
в комментариях Javadoc. Теперь внутри тега @snippet
можно оставлять Markup-комментарии, и они будут корректно отображаться в документации. Кроме того, поддерживаются области кода: можно указать часть кода, на которую вы хотите сослаться в Javadoc-комментарии. IDE теперь также поддерживает включение внешних фрагментов кода в тег @snippet
, что позволяет ссылаться на фрагменты, хранящиеся в отдельных файлах или источниках, и включать их в Javadoc-документацию.
Мы добавили новые способы применения некоторых рефакторингов сразу к нескольким членам. Теперь можно вызвать Extract Delegate, Extract Interface, Extract Superclass, Pull Members Up и Push Members Down для нескольких членов одновременно, выбрав их прямо на панели Project или Structure. Кроме того, многокурсорное выделение теперь работает в большем числе рефакторингов, включая Encapsulate Fields, Move Static Members, Extract Delegate, Extract Interface и Extract Superclass. Чтобы воспользоваться этой функцией, поместите курсор на каждый член, к которому нужно применить рефакторинг, и IDE автоматически выберет и отметит эти члены в диалоге рефакторинга.
Чтобы облегчить анализ трассировки стека и ускорить устранение ошибок, IntelliJ IDEA точно определяет местоположение метода в отчете, даже если номера строк недоступны или изменились.
Новая версия IntelliJ IDEA лучше анализирует конкатенации и интерполяции SQL в Java и Kotlin, выявляя потенциально опасные запросы и тем самым защищая код от возможных атак с использованием SQL-инъекций.
В IntelliJ IDEA 2023.2 расширена поддержка Scala 3 с упором на оптимизацию процесса разработки. Среди заметных улучшений: исправление подсветки перечислений в Scala 3, навигация по определениям перечислений, а также корректное разрешение случаев перечислений в различных контекстах. Значительно улучшен декомпилятор TASTy, обеспечивающий точную декомпиляцию популярных Scala-библиотек: Akka, Cats, Play, ZIO и других. Кроме того, интеграция scala-expression-compiler
в отладчик гарантирует более качественную отладку. Помимо этого, мы улучшили автодополнение Universal Apply Methods, добавили поддержку IArray в редакторе и усовершенствовали поддержку синтаксиса «меньше скобок».
В этот релиз мы включили несколько улучшений в поддержке sbt. Переменные окружения, заданные для sbt, сохраняются и корректно обрабатываются при повторном открытии проекта. Мы также переработали страницу настроек File | Settings | Build, Execution, Deployment | Build Tools | sbt и добавили новое поле Environment variables, благодаря которому теперь можно передавать процессу sbt-shell пользовательские переменные окружения.
Быстрая документация ScalaDoc теперь лучше согласована с Javadoc. Аннотации, ключевые слова и литералы в отображаемых объявлениях теперь подсвечиваются в соответствии с выбранной темой. Если список расширенных трейтов и классов превышает свободное место, он разбивается на несколько строк. Кроме того, в документации теперь поддерживаются ключевые слова Scala 3.
В новой версии исправлены ошибки, связанные с некорректным выводом типов в некоторых трудных и редких случаях, например, когда типы имеют сложные связывания, когда не ясна иерархия запечатанных трейтов или при сложном сопоставлении с образцом.
В свете последних улучшений производительности Zinc мы сделали его инкрементным компилятором по умолчанию в версии 2023.2. Вы получаете всестороннюю поддержку инкрементной компиляции новых возможностей Scala 3, включая методы inline
.
Папки, вложенные в целевую папку, больше не рассматриваются автоматически в качестве исходных, если они не помечены как управляемые. Это ускоряет поиск в проектах, генерирующих исходный код. Кроме того, в IDE улучшена поддержка sbt-projectmatrix
.
Теперь к функциям IntelliJ-профилировщика можно перейти прямо из окна Run. Новые кнопки позволяют вызывать действия Attach IntelliJ Profiler и Capture Memory Snapshot в один клик — без необходимости открывать окно Profiler или запускать приложение с нуля.
В IntelliJ IDEA 2023.2 режим профилирования «wall-clock» стал режимом по умолчанию. Этот метод профилирования учитывает общее время, проведенное в методе, включая время ожидания. Благодаря тому, что единицей измерения являются миллисекунды, — это наиболее эффективный и интуитивно понятный вариант.
Mono
и Flux
в Reactor При отладке реактивных приложений теперь легко вычислять значения watches и локальных переменных для типов Mono
и Flux
. IDE обнаруживает их во время сеансов отладки и предоставляет соответствующую ссылку get
или collectList
в представлении Variables, по которой можно кликнуть для мгновенного вычисления элементов Reactive Streams. По умолчанию отладчик выгружает первые 100 элементов Flux
. Это число можно изменить в разделе File | Settings | Languages & Frameworks | Reactive Streams.
Мы расширили возможности автоматического тестирования, сделав его полностью совместимым с системами сборки Maven, Gradle и JSP. Кроме того, мы упростили активацию режима непрерывного тестирования. Для его включения используйте новую кнопку Rerun Automatically в окне Run/Debug. Тесты будут запускаться автоматически при каждом сохранении изменений, а вы будете получать мгновенную обратную связь в отношении последних обновлений кода.
В IntelliJ IDEA теперь можно ставить точки останова непосредственно в return-выражениях, аналогично тому, как это делается в лямбда-выражениях. Это позволяет повысить точность отладки и углубить анализ кода для получения ценной информации о поведении кода и возвращаемых значениях. Чтобы установить точку останова, просто кликните правой кнопкой мыши на поле редактора рядом с выражением и выберите опцию return.
В IntelliJ IDEA 2023.2 появилась долгожданная возможность выбирать для коммита только определенные фрагменты кода. Чтобы сделать частичный коммит, выберите строки внутри блока кода и вызовите действие Include these lines into commit из контекстного меню. Блок будет разделен на отдельные строки, а выбранные строки будут выделены. Используйте флажки или контекстное меню, чтобы добавить или снять выделение со строки.
В IntelliJ IDEA 2023.2 появился новый инструмент командной строки для быстрого создания и загрузки общих индексов. Он оптимизирует работу команды и позволяет не тратить время на локальное индексирование больших проектов. С ним вы сможете создавать общие индексы всего за несколько кликов без использования дополнительных скриптов и сервисов. Подробнее
В IntelliJ IDEA 2023.2 можно запускать и отлаживать приложения, развернутые на Tomcat в Windows Subsystem for Linux (WSL). Для работы с Tomcat-приложениями в WSL переменная окружения JAVA_HOME
должна быть объявлена либо в файле /etc/environment
, либо в файле ~/.bashrc
.
Теперь в HTTP-клиенте можно отправлять gRPC-запросы с использованием протокола Transport Layer Security (TLS). Он обеспечивает шифрование и аутентификацию, гарантируя конфиденциальность и целостность передаваемых данных. В синтаксисе запроса поддерживаются схемы https://
и grpcs://
.
Настраивать конфигурации Swagger Codegen стало удобнее. Мы переработали диалог Edit Swagger Codegen Configuration, чтобы вам было проще настраивать конфигурации запуска под ваши потребности. Кроме того, теперь можно перейти к конфигурациям запуска Swagger Codegen прямо с поля редактора без каких-либо дополнительных настроек.
HTTP-клиент теперь понимает спецификации Swagger и OpenAPI и предоставляет подходящие варианты автодополнения для тела JSON-запроса.
IntelliJ IDEA теперь поддерживает превью Redoc UI для файлов спецификаций OpenAPI и Swagger, включая файлы YAML и JSON, и вы можете переключаться между интерфейсами Redoc и Swagger внутри IDE. Благодаря интеграции с Redocly у вас есть доступ к консоли Try it из IntelliJ IDEA, и вы можете использовать ее для установки параметров и отправки запросов к API.
В IDE теперь работает автодополнение для ключей JSON-объектов в JavaScript-коде, например, в коде, использующем вызовы fetch()
или ссылки на библиотеку Axios. Сейчас поддерживаются серверные конечные точки Spring MVC, а в будущем появится поддержка и других серверных фреймворков.
В IntelliJ IDEA 2023.2 появилась возможность совместного использования общего JavaScript-кода для обработчиков запросов в HTTP-клиенте при помощи импортируемых модулей.
IntelliJ IDEA теперь показывает превью PDF- и HTML-файлов прямо в результатах запроса в HTTP-клиенте.
Теперь в IntelliJ IDEA можно использовать CLI HTTP-клиента для взаимодействия с API GraphQL и установки WebSocket-соединений с сервисами, например, для тестов или скриптов автоматизации.
При настройке новой конфигурации запуска Spring Boot в поле VM options предлагаются варианты автодополнения ключей, появляющиеся после флага -D
.
Работать с пользовательскими конфигурационными бинами Spring стало проще. Теперь IntelliJ IDEA предоставляет автодополнение кода и валидацию для свойств и конфигурационных YAML-файлов без необходимости настраивать Spring Boot Configuration Annotation Processor.
Мы расширили поддержку использования AspectJ в Spring-приложениях. Теперь IDE предоставляет анализ и автодополнение для Kotlin-кода, как это уже было сделано для Java.
В IntelliJ IDEA 2023.2 появилась новая инспекция для устранения так называемой проблемы с Норвегией и предотвращения непреднамеренной ошибочной интерпретации логических значений в YAML-файлах. Если список состоит в основном из строк, но содержит литерал, похожий на логическое значение, IntelliJ IDEA подсветит такой литерал, указывая на потенциальное несоответствие, и предложит добавить к нему кавычки. Если же список состоит в основном из литералов, подобных логическим (таких как true
, false
, off
, on
, yes
и no
), то любой литерал, отклоняющийся от этого шаблона, будет подсвечен как возможная ошибка, но никаких быстрых исправлений в этом сценарии не предлагается.
Работать с форматом спецификаций AsyncAPI в IntelliJ IDEA стало намного проще. IDE поддерживает проверку схем и предоставляет автодополнение ссылок, окно Endpoints и панель Editor Preview.
В окне Services теперь можно посмотреть превью содержимого слоев Docker-образов. Выберите образ из списка, нажмите Show layers, а затем Analyze image for more information. Вы увидите список файлов, хранящихся в слое, из которого можно легко открыть выбранный файл в редакторе, кликнув по нему правой кнопкой мыши и выбрав Open File (или Download File для исполняемых файлов).
Теперь можно запускать конфигурацию запуска Docker перед другой конфигурацией, обозначив ее как Before Launch task. IDE не будет инициировать следующую конфигурацию запуска, пока текущий контейнер не достигнет состояния готовности. Чтобы поставить конфигурацию запуска Docker в очередь, сначала создайте ее, а затем добавьте в соответствующий контейнер с помощью команды Modify options | Add before launch task | Run configuration.
В IntelliJ IDEA появилась возможность использовать несколько файлов kubeconfig в одном проекте. Это упрощает работу с несколькими кластерами или средами на разных кластерах в рамках одного проекта. Для настройки файлов перейдите в раздел File | Settings | Build, Execution, Deployment | Kubernetes.
Теперь в окне Services можно просматривать журналы развертывания в кластерах Kubernetes. Кликните правой кнопкой мыши по Deployment в дереве и выберите в контекстном меню Follow Log или Download Log.
В IntelliJ IDEA 2023.2 мы постарались улучшить способ представления ошибок типов в JavaScript и TypeScript. Благодаря новому форматированию информацию об ошибках и предупреждениях проще читать, а значит легче находить проблемы в коде. Новым способом отображаются все ошибки в TypeScript-коде, наиболее распространенные ошибки в JavaScript и даже локализованные ошибки.
IntelliJ IDEA 2023.2 поддерживает вложенность CSS. Мы добавили поддержку синтаксиса и инспекцию, которая предупредит вас о том, что вложенный селектор начинается с идентификатора или функциональной нотации.
Поддержка Vue Language Server (VLS), также известного как Volar, позволила улучшить обнаружение ошибок и получать более точную информацию о типе во всплывающих окнах навигации и документации. По умолчанию для TypeScript 5.0 и более поздних версий используется VLS, а для более ранних — обертка над сервисом TypeScript. Интеграцию с VLS для всех версий TypeScript можно включить в разделе Settings | Languages & Frameworks | TypeScript | Vue.
Мы добавили новый набор живых шаблонов для React-хуков, который вы найдете в разделе Settings | Editor | Live Templates | React hooks. Чтобы воспользоваться шаблоном, введите в редакторе соответствующее сокращение и нажмите Tab, чтобы его развернуть.
IntelliJ IDEA 2023.2 упрощает настройку инструментов статического анализа благодаря полной интеграции с JetBrains Qodana — умным механизмом статического анализа, подходящим для любого CI/CD-пайплайна. Эта интеграция дает два важных преимущества. Во-первых, теперь можно запускать анализ всего за пару кликов, просматривать проблемы на уровне проекта и задавать критерии качества в вашей CI/CD-системе. Во-вторых, теперь вы можете просматривать результаты серверного анализа, не покидая IDE. Узнайте больше о Qodana и ее свежем обновлении в нашем блоге.
Теперь вы можете подключиться к Redis Cluster и получить тот же набор функций, что и при использовании автономного Redis. При подключении к кластеру перед URL-адресом нужно ввести jdbc:redis:cluster:
, а затем выбрать соответствующий тип соединения. Если для подключения требуется SSH-туннелирование, то в URL следует указать хосты и порты всех узлов кластера.
В версии 2023.2 мы переработали интерфейс миграции схем. Основное отличие заключается в том, что теперь одинаковые объекты располагаются на одной строке в обеих частях диалога: так проще понять, какие объекты будут добавлены в целевую схему, удалены из нее или изменены.
В разделе настроек Data Editor and Viewer появилось новое поле Time zone: в нем можно задать часовой пояс, в котором должно отображаться значение datetime
.
Общие базы данных и их содержимое теперь подвергаются интроспекции. Также интроспективно проверяются datashares, на которых создаются эти базы.
IntelliJ IDEA is now fully compatible with Maven 4.0.0-alpha, the latest version of Maven.