Что нового в CLion 2023.3

В CLion 2023.3 официально появился JetBrains AI Assistant, который ранее был доступен только в рамках технического превью. Теперь он предлагает еще больше действий, учитывающих контекст конкретного файла и проекта в целом. Благодаря ему разработка на C++ станет еще более продуктивной. Кроме того, в новой версии расширена поддержка моделей проектов, добавлены инструменты для более глубокого анализа кода и просмотра базового кода сборки, а также появилась поддержка файлов деревьев устройств для разработчиков встроенного ПО.

Главное

Официально выпущен AI Assistant

Официальная версия AI Assistant Публичный доступ

В CLion теперь официально доступен JetBrains AI Assistant. Мы добавили ряд новых возможностей и улучшили уже известные функции, чтобы сделать работу в IDE JetBrains еще эффективнее.

В CLion 2023.3 AI Assistant может генерировать более качественную документацию и объяснять причины ошибок, происходящих во время выполнения программы. Кроме того, обновление включает в себя контекстный чат-бот и действия на основе ИИ, учитывающие расширенный контекст проекта для более точных результатов.

Чтобы использовать AI Assistant как дополнительную функцию CLion, вам потребуется подписка на JetBrains AI.

CLion Nova

CLion Nova Превью

Мы стремимся устранить давние проблемы с качеством и производительностью и обеспечить единообразный подход к работе во всех наших инструментах для C++, поэтому мы выпускаем CLion Nova. Это версия CLion с языковым движком для C++ из ReSharper C++ и JetBrains Rider, которая бесплатно доступна в рамках технического превью. Она предлагает:

  • ускоренную подсветку ошибок;
  • более отзывчивый интерфейс;
  • значительное сокращение числа зависаний при рефакторинге;
  • более быструю работу функции Find Usages;
  • ускоренную индексацию тестов.

Подробнее о предварительной версии CLion Nova и условиях ее бесплатного использования

Больше моделей проектов C и C++

Больше моделей проектов C и C++

Для проектов C и C++ используются разные модели. CLion из коробки поддерживает проекты CMake, Makefiles, Autotools и проекты на основе Compilation Database. В версии 2023.3 появилась долгожданная поддержка Meson, а также устранены многие проблемы с плагином Bazel для CLion.

Подробнее об этих изменениях

Повышаем качество кода C++

Повышаем качество кода C++

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

Подробнее о новых возможностях анализа

Глубокий анализ кода

Глубокий анализ кода

CLion помогает вам понять, что именно делает тот или иной код, и найти ошибки в кодовой базе. Новая встроенная опция Run to Cursor ускоряет навигацию по коду в отладчике, а представление файлов Assembly удобно использовать, когда нужно найти ошибку или оптимизировать производительность кода.

Подробнее о новых возможностях

CLion для микроконтроллеров

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

Дерево устройств — это иерархическая структура, которая содержит сведения об оборудовании. Оно широко используется в Zephyr и обеспечивает первоначальную настройку оборудования. В новой версии CLion читать такие файлы, перемещаться по ним и изменять их стало гораздо удобнее. IDE распознает файлы с расширениями .dts и .dtsi как файлы дерева устройств, так что для них теперь доступны функции помощи при написании кода.

Подробнее о поддержке деревьев устройств

Модели проектов

Плагин Bazel для CLion

Были сделаны важные улучшения в плагине Bazel для CLion, созданном Google:

  • теперь CLion учитывает аргумент strip_include_prefix и поэтому использует правильные пути при поиске включенных заголовков;
  • анализ кода в новой версии корректно работает для заголовков с символическими ссылками в виртуальных вставках Bazel;
  • проекты, добавленные в WORKSPACE.bazel с помощью local_repository или new_local_repository, в новой версии CLion корректно синхронизируются и индексируются.

Поддержка Meson

В CLion добавлена поддержка Meson! Теперь можно открыть проект Meson в CLion и выполнить его сборку, запуск и отладку. Функция работает на всех платформах и со всеми локальными и удаленными тулчейнами, включая WSL и Docker.

CLion обеспечивает следующие возможности для редактирования файла meson.build:

  • подсветка кода;
  • представление Structure показывает исполняемые файлы и библиотеки, если в файле есть команды executable(...) и library(...).

Подробнее о работе с проектами Meson в CLion

Улучшения для CMake

Новая версия поддерживает условия equals и notEquals для предустановок CMake, поэтому теперь CLion не показывает предустановки, не соответствующие этим условиям.

Представление Assembly

Представление Assembly для файлов

Представление Assembly для файлов

В CLion 2023.3 больше не нужно запускать сеанс отладки, чтобы исследовать базовый код сборки. Новое действие Show Assembly использует настройки компилятора из текущей конфигурации, компилирует код из просматриваемого файла C/C++ в сборку и открывает редактор с предварительным просмотром, где показано, какой исходный код дает ту или иную часть сборки.

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

Синтаксис Intel

Синтаксис Intel

Во всех представлениях Assembly в CLion (как с сеансами отладки, так и без них) теперь можно переключиться на синтаксис сборки x86 (Intel). Для этого в окне представления Assembly откройте меню Options и обновите представление, чтобы применить изменения.

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

Отладчик

Выполнение программы до строки с курсором

Выполнение программы до строки с курсором

В новом интерфейсе CLion 2023.3 появился новый встроенный параметр Run to Cursor. Он позволяет в ходе отладки выполнить код до определенной строки. После приостановки выполнения программы можно навести курсор мыши на строку, до которой нужно выполнить программу, и нажать на всплывающее окно Run to Cursor. Код будет выполняться, пока не дойдет до строки, в которой открыто всплывающее окно.

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

Чтобы помочь вам с гибкой настройкой оборудования, мы добавили в CLion поддержку файлов деревьев устройств. IDE распознает файлы с расширениями .dts и .dtsi как файлы дерева устройств, так что теперь для деревьев устройств доступны функции помощи при написании кода. Подробнее читайте в онлайн-документации.

Чтение файлов деревьев устройств

Чтобы вам было проще читать существующие файлы деревьев устройств, CLion предлагает:

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

Написание файлов деревьев устройств

CLion поддерживает следующие функции для более эффективного создания файлов деревьев устройств:

  • автодополнение кода для стандартных узлов, /<commands>/ и меток;
  • валидация для меток и имен узлов во время печати;
  • валидация порядка элементов в дереве, если он заранее определен;
  • проверки размера массива, определенного параметром /bits/.

Статический анализ

Function summaries

В CLion 2023.3 реализован новый подход Function summaries, который позволяет различать контексты разных функций для произвольных вложенных цепочек вызовов. Благодаря этому анализ потока данных дает более точные результаты.

Анализ полей

Анализ полей

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

Анализ утечек памяти

Анализ утечек памяти

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

QML

QML

CLion выявляет типы QML в проекте, чтобы проанализировать их и обеспечить помощь при написании кода. Однако типы QML из библиотек или из пользовательских плагинов часто расположены в других местах. Для решения этой проблемы мы добавили новую настройку Extra QML imports в Settings/Preferences | Languages & Frameworks | QML. С ее помощью IDE находит импорты QML в указанных местах и анализирует типы из кода пользователя.

Шаблоны файлов

Шаблоны файлов

При создании нового проекта в CLion с помощью мастера New Project, файл main.cpp или main.c генерируется автоматически. Однако в некоторых случаях вам может быть удобнее использовать пользовательский шаблон для этого файла. В CLion 2023.3 можно посмотреть и отредактировать такие шаблоны в меню Settings/Preferences | Editor | File and Code Templates | Other.

IDE Features Trainer

IDE Features Trainer — это набор интерактивных обучающих материалов по основным функциям IDE. Его можно открыть по ссылке на начальном экране или через меню Help | Learn IDE Features. Подробнее читайте в онлайн-документации.

Включайтесь в работу легко

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

Подробное знакомство с основными возможностями IDE

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

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

Скрытие главной панели инструментов

Скрытие главной панели инструментов

Если вы хотите сделать интерфейс IDE более компактным, основную панель инструментов можно скрыть в режиме просмотра по умолчанию. Для этого откройте меню View | Appearance и снимите флажок Toolbar.

Цветовая маркировка для вкладок файлов

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

Сочетание клавиш для функции быстрого поиска

Сочетание клавиш для функции Speed search

Функцию Speed search, которая позволяет быстро переходить к нужному месту в окнах и диалогах, теперь можно вызвать с помощью сочетания клавиш. Выбрав дерево или список, можно легко вызвать поиск через меню Options текущего окна, нажав Ctrl+F либо просто начав вводить запрос.

Восстановление расположения окон по умолчанию

Восстановление расположения окон по умолчанию

Если вы хотите быстро вернуться к исходному расположению окон CLion по умолчанию, это можно сделать, воспользовавшись настройкой Window | Layouts | Default.

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

Область доступа Tests

Чтобы сэкономить время на этапе индексирования тестов, можно вручную настроить в CLion поиск тестов в определенных директориях. Для этого создайте область доступа Tests, и тогда индексация будет проводиться только для файлов, попавших в эту область.

Область доступа Tests можно использовать для фильтрации представления «Project» и быстрого доступа к файлам тестов в проекте. Подробнее.

Улучшенная поддержка Dev Containers

В CLion 2023.3 значительно расширена поддержка Dev Containers: вы можете легко добавить дополнительные инструменты разработчика, среды выполнения и библиотеки с помощью функций контейнеров разработки, которые упрощают настройку основных компонентов. Кроме того, мы реализовали автоматическую переадресацию портов: переадресуются любые порты, которые приложение начинает слушать в Dev Container. Подробнее об этом читайте здесь.

Единый инструмент поиска различий

CLion 2023.3 предлагает обновленный подход к проверке изменений в файлах. Вам больше не нужно просматривать файлы по одному: все измененные файлы из выборки отображаются в едином фрейме с возможностью прокрутки. Новый инструмент поиска различий поддерживает ревью кода в GitLab, GitHub и JetBrains Space.

Поддержка сниппетов GitLab

Мы расширяем интеграцию с GitLab, которая впервые появилась в CLion 2023.2, и добавили поддержку сниппетов GitLab. Теперь разработчик может создавать как общедоступные, так и закрытые сниппеты прямо в IDE.