Что нового в CLion 2024.3

CLion 2024.3 — новый важный шаг в развитии CLion Nova. Эта версия нашего нового языкового движка была существенно переработана, и в ней добавлен ряд функций, которых вы давно ждали, поэтому теперь она подходит для большинства сценариев использования. Кроме того, этот релиз включает в себя новые возможности разработки для встраиваемых систем, например серверы отладки и поддержка нативной отладки Zephyr West. Наконец, в CLion 2024.3 появились приложение для просмотра изображений OpenCV и возможность подключения отладчика к незапущенному процессу.

Главное

CLion Nova

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

Подробнее

Улучшенное использование памяти в CLion Nova

Многие из улучшений в CLion Nova помогли снизить использование памяти этим движком. Это особенно заметно на больших проектах, таких как Chromium. Теперь IDE лучше реагирует на запросы и быстрее запускается.

Подробнее

Поддержка Meson

Просмотр изображений OpenCV

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

Подробнее

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

Серверы отладки экспериментальная функция

Мы добавили новую настройку Debug Servers, которая упрощает отладку для встраиваемых систем и удаленной разработки. Используя сервер отладки, вы можете выбрать нужный отладочный зонд для запуска или отладки сборки. Раньше для каждого сочетания отладочного зонда и таргета сборки приходилось создавать отдельную конфигурацию запуска и отладки.

Подробнее

CLion Nova

Live templates

Ждем ваших откликов

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

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

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

Поделитесь своим мнением в разделе Help | Submit Feedback... в главном меню IDE. Мы внимательно изучим ваши отзывы и постараемся исправить проблемы, которые мешают вам использовать CLion Nova.

Улучшенное использование памяти

Мы внесли много улучшений в CLion Nova, чтобы снизить использование памяти этим движком. Это особенно заметно на крупных проектах. Если сравнить использование памяти на проекте Chromium в CLion Nova 2024.2 и в версии 2024.3, то окажется, что в новой версии фронтенд IDE использует на 51 % меньше памяти, а бэкенд IDE — на 15 % меньше.

Для пользователей это означает:

  • теперь IDE лучше реагирует на запросы, поскольку использует меньше памяти и реже вызывает сборщика мусора;
  • IDE быстрее работает и откликается на изменения в проекте.

Иерархия вызовов

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

Чтобы посмотреть иерархию вызовов, выберите в редакторе функцию, а затем в главном меню выберите Navigate | Call Hierarchy или нажмите сочетание клавиш ⌃⌥H (macOS) или Ctrl+Alt+H (Windows/Linux).

Предварительно настроенные стили кода из других проектов и фреймворков

В этой версии можно выбрать предварительно настроенный стиль кода, например LLVM, Google, Qt или GNU. Это можно сделать в меню Settings | Editor | Code Style | C/C++ | Set from....

Иконка рекурсивных вызовов на полях редактора

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

Поддержка Quick Definition

Во всплывающем окне Quick Definition можно посмотреть, где и как определен класс, функция, метод и другие символы проекта. Чтобы вызвать это окно, поместите курсор на нужный символ в редакторе и нажмите ⌥Space (macOS) или Ctrl+Shift+| (Windows/Linux). Можно также открыть его из главного меню, выбрав View | Quick Definition.

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

Серверы отладки экспериментальная функция

Мы добавили новый параметр конфигурации Debug Servers, чтобы упростить настройку отладки при удаленной разработке, а также при разработке для встраиваемых систем. В отдельном разделе в Settings | Debugger можно настроить сервер отладки на базе gdbserver.

Сначала нужно включить Debug Servers в меню Settings | Advanced Settings | Debugger. После этого можно открыть диалог Debug Servers в Settings | Debugger или вызывать Edit Debug Servers из переключателя на главной панели инструментов.

Обратите внимание: это экспериментальная функция и она пока не работает с PlatformIO. Однако есть обходной путь. Мы будем рады, если вы воспользуетесь этой функцией и расскажете нам о своих впечатлениях. Кроме того, мы с радостью обсудим с вами по телефону ваши сценарии использования функции и возникающие проблемы.

Поддержка отладки для West

В этой версии мы расширили поддержку Zephyr West и добавили возможность нативной отладки проектов West. Благодаря этому легко настраивать и запускать сеансы отладки в IDE.

При импорте проекта Zephyr West в переключателе Run/Debug Configurations автоматически создается конфигурация запуска и отладки West. Создать новую конфигурацию можно и вручную, открыв Run | Edit Configurations... в главном меню.

Редактируемые значения в реестре периферийных устройств

При отладке периферийных устройств микроконтроллера, например контактов GPIO или таймеров, теперь вы сможете сразу видеть результат внесенных изменений, отредактировав реестр периферийных устройств на панели Peripherals в окне Debug.

Поддержка MISRA C++:2023 в CLion Nova

MISRA C++:2023 — свежая версия стандарта с рекомендациями по использованию C++17 в системах с повышенными требованиями к безопасности. В статическом анализаторе CLion теперь есть много проверок из этого стандарта.

Отладчик

Просмотр изображений OpenCV

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

В диалоге отладчика Threads & Variables нажмите View as image.

Форматированное представление строк, содержащих данные JSON, XML или HTML

При отладке строк, в которых есть символ переноса строки или данные JSON, XML или HTML, их можно прямо в отладчике посмотреть отформатированными согласно стилю кода. Нажмите View рядом с переменной, и структурированные или исходные данные откроются в отдельном окне.

Подключение отладчика к незапущенным процессам

Теперь отладчик можно подключить к незапущенным локальным процессам. После этого при запуске процесса автоматически начнется его отладка. Это очень удобно, например, когда часть проекта написана на C++ и выполняется в CLion, а другая часть написана на другом языке и выполняется во внешнем окружении.

Чтобы настроить подключение, откройте в главном меню Run | Attach to an Unstarted Process....

Обновления встроенных инструментов

Мы обновили встроенные отладчики:

  • GDB до версии 15.2;
  • LLDB до версии 19.1.3.

AI Assistant

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

Одно из самых заметных улучшений касается многострочного автодополнения: теперь оно поддерживает подсветку синтаксиса, а предлагаемый код можно принимать по частям.

Многострочное автодополнение работает в сочетании с обычным автодополнением и автодополнением строки целиком (последнее основано на локальной LLM и не отправляет данные в облако). Это позволяет проверять и принимать предложенный код по частям. Кроме того, с помощью сочетаний клавиш ⌥→ на macOS и Ctrl+→ на Windows можно принимать предложения по одному слову.

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

Знакомство IDE на примере проекта C++

Если вы только начинаете работать с CLion, вам помогут обновленные подсказки. Они познакомят вас с основными функциями IDE и помогут быстро разобраться в ее возможностях, чтобы вы быстрее освоились и начали работать эффективно.

Виджет статуса проекта

Мы сделали уведомления о статусе проекта менее навязчивыми, переместив их из верхней части редактора в новый виджет в строке состояния. Теперь, когда вы, например, создаете новый файл .cpp в проекте, появится значок . Уведомление о том, что файл не относится ни к одному проекту, появится только при наведении курсора на значок. Если кликнуть по нему, виджет предложит добавить файл в CMake проект. Если это не нужно, просто закройте всплывающее окно, и значок останется в строке состояния.

Проверки типов свойств

Обновленный интерфейс терминала

Новый интерфейс терминала стал компактнее за счет уменьшения интервалов и занимает меньше места на экране. В результате стало больше места для команд, и с ними удобнее работать.

Проверки типов свойств

Подсветка вхождений выделенного текста

По умолчанию CLion теперь подсвечивает все случаи использования выделенного вами текста в любом файле, а не только в .c и .cpp. Так сразу хорошо видно, где в файле встречается выбранный текст. Изменить настройку можно в разделе Settings | Editor | General | Appearance.

Новая версия CMake

Пакет CMake обновлен до версии 3.30.5.