Что нового в CLion 2023.2

В CLion 2023.2 переосмыслена интеграция с PlatformIO, улучшена поддержка vcpkg, добавлена функция AI Assistant, которая естественным образом встраивается в основные рабочие процессы, расширены возможности низкоуровневой и удаленной отладки, а также отладки для встраиваемых систем.

Главное

AI Assistant

AI Assistant Ограниченный доступ

В CLion 2023.2 появился AI Assistant — помощник на основе искусственного интеллекта, который органично вписывается в ключевые процессы работы в IDE. Для языков C и C++ он умеет пояснять выделенный код, предлагать наилучшие способы рефакторинга и находить потенциальные проблемы в выбранном фрагменте. AI Assistant также генерирует сообщения коммитов и поясняет ошибки CMake.

Дополнительные сведения

Обновления отладчика

Обновления отладчика

Низкоуровневая отладка становится проще, когда есть возможность просматривать регистры текущего фрейма. Кроме того, значения регистров можно увидеть прямо в окне дизассемблированного кода. Обновленный диалог Attach to Process позволяет подключаться к удаленным и WSL-процессам.

Подробнее

Интеграция с PlatformIO

Интеграция с PlatformIO

PlatformIO — это платформа с открытым исходным кодом, которая помогает разработчикам встраиваемых систем в работе над проектами. В CLion 2023.2 появилась нативная интеграция с ней. IDE работает непосредственно с файлом platformio.ini: отслеживает изменения в нем и обновляет информацию о проекте соответствующим образом.

Подробнее

Интеграция с vcpkg

Интеграция с vcpkg

vcpkg — один из самых популярных менеджеров пакетов для C++. В работе с vcpkg существует два подхода: классический режим и режим Manifest. В CLion 2023.2 поддерживаются оба. В интерфейсе CLion их легко различить и можно быстро переключиться в режим Manifest, нажав на специальную кнопку.

Дополнительные сведения

AI Assistant
Ограниченный доступ

Версия 2023.2 наших IDE на базе IntelliJ и .NET-инструментов включают важную новую функцию AI Assistant — помощник на основе искусственного интеллекта. Он находится на ранней стадии разработки, но вы уже можете оценить наш подход к внедрению искусственного интеллекта в привычные процессы работы в IDE и интеграцию его возможностей с анализом кода. Подробнее — в нашей документации.

AI Assistant пока не входит в стабильные версии IDE JetBrains и устанавливается как отдельный плагин. Доступ к AI Assistant временно ограничен, и вы можете оказаться в листе ожидания.

Чат c AI Assistant

Чат c AI Assistant

AI Assistant специализируется на вопросах программирования и понимает контекст вашего проекта. Общение происходит в отдельном окне, и если вас устраивает сгенерированный искусственным интеллектом код, используйте действие Insert Snippet at Caret, чтобы поместить этот код в редактор, или просто скопируйте его вручную.

Меню AI Actions...

Меню AI Actions...

Выделите фрагмент кода в редакторе и вызовите действие из контекстного меню AI Actions....

AI Assistant умеет:

  • находить потенциальные проблемы в выделенном фрагменте;
  • предлагать наиболее удачный рефакторинг;
  • пояснять выделенный код;
  • обсуждать выделенный код в чате.
Генерация сообщений коммитов

Генерация сообщений коммитов

AI Assistant поможет вам описать внесенные изменения. Нажав кнопку Generate Commit Message with AI Assistant в диалоге сообщения коммита, вы отправите дифы изменений в LLM, и он сгенерирует сообщение, описывающее ваши изменения.

Пояснения к ошибкам CMake

Пояснения к ошибкам CMake

Если при выполнении CMake произошел сбой, нажмите Explain with AI в окне CMake, и искусственный интеллект поможет разобраться, что пошло не так и как это исправить.

Отладчик

Диалог Attach to Process

Диалог Attach to Process позволяет отлаживать процессы, запущенные вне CLion, — локально или удаленно, — и при этом пользоваться интеграцией с отладчиком IDE.

Начиная с версии 2023.2, вы можете:

  • подключаться к локальным, удаленным и WSL-процессам;
  • выбирать любой отладчик, сконфигурированный в тулчейнах;
  • подключаться к удаленным процессам с правами администратора.
Регистры в отладчике

Регистры в отладчике

Низкоуровневая отладка становится проще, когда есть возможность просматривать регистры текущего фрейма. CLion теперь показывает значения регистров на вкладке Variables в окне отладчика.

Языки ассемблера для ARM

Языки ассемблера для ARM

CLion теперь поддерживает языки ассемблера ARM. Это означает, что в окне дизассемблированного кода для них работает подсветка синтаксиса.

Регистры ассемблера при отладке

Регистры ассемблера при отладке

При отладке дизассемблированного кода CLion теперь показывает значения регистров прямо в окне просмотра дизассемблера.

Другие улучшения отладчика:

  • CLion включает в поставку LLDB v16 и GDB v13.1.
  • Memory View поддерживает редактирование памяти на лету и показывает значение сразу после редактирования.
  • Для улучшения отладки внешних библиотек для удаленных тулчейнов CLion теперь корректно обрабатывает установленные в них точки останова и по требованию загружает недостающие исходные файлы.

Разработка для встраиваемых систем

Нативная интеграция с PlatformIO

Нативная интеграция с PlatformIO

PlatformIO — это платформа с открытым исходным кодом, которая помогает разработчикам встраиваемых систем в работе над проектами. В CLion 2023.2 из интеграции с PlatformIO был исключен промежуточный уровень CMake. Теперь IDE работает непосредственно с файлом platformio.ini: отслеживает изменения в нем и соответствующим образом обновляет информацию о проекте.

Как установить плагин PlatformIO и с его помощью создать новый или открыть существующий проект, читайте в документации.

Действия и окно PlatformIO

Действия и окно PlatformIO

Некоторые команды pio теперь можно вызывать прямо из IDE (Tools | PlatformIO) — нет необходимости переходить в терминал. К ним относятся перезагрузка проекта, запуск статического анализа кода проекта, вызов монитора устройства и другие.

Окно PlatformIO обеспечивает быстрый доступ к наиболее часто используемым командам и действиям над проектом.

Другие улучшения:

Для корректной отладки с использованием GDB-сервера Segger J-Link, помимо обычных сигналов SIGINT и SIGSTOP, CLion теперь обрабатывает сигнал SIGTRAP.

vcpkg

Чтобы вам было проще управлять зависимостями проекта и внешними библиотеками, в CLion есть интеграция с vcpkg — менеджером пакетов для C/C++. В версии 2023.2 мы обновили эту интеграцию, расширив набор поддерживаемых сценариев.

Режим Manifest

Режим Manifest

В работе с vcpkg существует два подхода: классический режим и режим Manifest. Теперь в интерфейсе CLion их легко различить и можно быстро переключиться в режим Manifest, нажав на специальную кнопку.

Вкладка Console

Вкладка Console

Чтобы вам было удобнее работать в классическом режиме vcpkg, мы добавили в окно vcpkg вкладку Console, на которой отображаются все команды и результаты.

CMake

Создание таргетов CMake при добавлении файлов в проект

Создание таргетов CMake при добавлении файлов в проект

В CLion 2023.2 улучшен диалог создания файлов C/C++ для случаев, когда таргет CMake, в который хотелось бы добавить файл, отсутствует. Действие Add new target... создает новый таргет и добавляет его в выбранный файл CMakeLists.txt. После этого можно добавлять в таргет новые файлы.

Поддержка CMake 3.25 и 3.26

Поддержка CMake 3.25 и 3.26

В CLion 2023.2 добавлена подсветка и автодополнение для новых параметров из CMake 3.25 и для новой команды block, используемой для выполнения нескольких команд в определенной области видимости. В CLion эта команда правильно подсвечивается, форматируется, документируется и сворачивается.

CLion 2023.2 включает CMake 3.26.

Parameter Info для CMake

Parameter Info для CMake

Подсказки Parameter Info показывают варианты сигнатур по мере ввода и теперь работают для команд CMake. Они помогают понять, какой параметр вводить следующим, что особенно полезно в командах, имеющих несколько вариантов.

Docker в WSL

Docker в WSL

Если в вашем проекте есть Docker-файл с окружением на базе Linux и вы хотите разрабатывать в нем свое приложение с компьютера Windows, можете делать это в CLion при помощи WSL и Docker.

Терминал в консоли вывода

Docker в WSL

Эмуляция терминала в консоли вывода теперь включается и выключается отдельно для каждой конфигурации. По умолчанию она отключена, а настройка, управляющая ею, перенесена из раздела Advanced Settings в Run Configuration.

В Windows ею можно пользоваться для MSVC-LLDB-отладки как с обычными правами, так и с правами администратора.

Взаимодействие с IDE

Светлая тема со светлыми заголовками

Светлая тема со светлыми заголовками

Мы усовершенствовали светлую тему, добавив альтернативный вариантLight with Light Header. В нем заголовки окон, всплывающие подсказки и уведомления тоже светлые.

Закрепленные конфигурации запуска

Закрепленные конфигурации запуска

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

Обновленные элементы управления окнами на macOS

Обновленные элементы управления окнами на macOS

При работе в полноэкранном режиме на macOS с использованием нового интерфейса элементы управления окном теперь располагаются прямо на главной панели инструментов, а не на плавающей панели, как было раньше.

Отсутствие строки заголовка на Linux

Отсутствие строки заголовка на Linux

Для удобства пользователей Linux мы убрали из нового интерфейса нативный заголовок операционной системы, уменьшив таким образом визуальный шум. Теперь по умолчанию вы видите только заголовок окна IDE, который можете настроить, как вам нравится.

Цветные заголовки проектов

Цветные заголовки проектов

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

Кастомизация главной панели инструментов

Кастомизация главной панели инструментов

Мы расширили возможности кастомизации главной панели инструментов в новом интерфейсе. Теперь в выпадающем меню можно быстро выбрать действия, которые вы хотите добавить на панель. Для этого кликните правой кнопкой мыши по любому виджету и выберите опцию Add to Main Toolbar, чтобы увидеть доступные варианты.

Текстовый поиск в Search Everywhere

Функция Search Everywhere в основном используется для поиска файлов, классов, методов, действий и настроек. Теперь она включает в себя и текстовый поиск, аналогичный Find in Files.

Другие улучшения

  • В CLion и других IDE на базе IntelliJ появилась начальная интеграция с GitLab: теперь можно пользоваться функцией Merge Request прямо в IDE, оптимизируя свой рабочий процесс.
  • В системах Windows с отличной от ARM архитектурой CLion теперь по умолчанию использует архитектуру тулчейна Visual Studio amd64, а не x86.