В CLion 2024.1 стало удобнее редактировать скрипты CMake и появилась возможность отладки нескольких процессов. Кроме того, IDE помогает точнее описывать аппаратное обеспечение в деревьях устройств и предлагает расширенную интеграцию с системами контроля версий.
У вас возникают проблемы с редактированием скриптов CMake? В CLion 2024.1 появились расширенные функции помощи в написании и редактировании скриптов для таргетов CMake. CLion предлагает шаблоны Live Templates для создания новых таргетов, автодополнение кода, навигацию, а также функцию поиска Find Usages по именам таргетов.
Мы расширяем возможности интеграции CLion с отладчиками. Новая версия CLion обеспечивает отладку таргетов с несколькими процессами. Пользователей GDB порадует встроенная поддержка самой свежей версии решения — GDB 14.1. Кроме того, добавлен новый параметр для ускорения индексации GDB, что повышает общую скорость отладки.
Мы работаем над улучшением поддержки Meson в CLion. В версии 2024.1 добавлено окно Meson, где много полезных команд, а также появились пользовательские настройки для Meson и возможность создавать проекты Meson в мастере New Project.
Поддержка систем контроля версий в CLion и других JetBrains IDE существенно обновлена: мы улучшили инструмент поиска различий и функцию поиска веток, упростили процесс ревью кода и внесли много других полезных изменений в эту подсистему.
Если вам нужно создать новый таргет CMake, воспользуйтесь новыми шаблонами Live Templates. Они автоматически создают команды CMake add_executable
(введите exe
) и add_library
(введите lib
).
Новая версия CLion предлагает автодополнение имен таргетов в командах CMake, чтобы было проще привязывать файлы к таргетам и выполнять другие связанные с таргетами операции.
Если вы ищете место в коде, где определен нужный вам таргет, новая версия CLion поможет в один клик перейти к соответствующим командам add_library
или add_executable
.
Функция Find Usages (Alt+F7) позволяет найти все использования таргета в проекте. При сортировке найденных объектов отдельно группируются использования и определения.
Если CMake не загружается из-за того, что у вас не выбрана минимальная необходимая версия, CLion предлагает нужное исправление в окне CMake. Если нажать Fix...
, CLion автоматически обновит команду cmake_minimum_required
.
Теперь вы можете настроить типы предустановок CMake, импортируемых в CLion. Например, можно выбрать в списке импорта параметр Configure. Для этого перейдите в меню Settings/Preferences | Advanced Settings | CMake | Automatically import CMake Presets.
И последнее: в CLion 2024.1 встроен CMake v3.28.
В предыдущей версии (2023.3) в CLion появилась поддержка проектной модели Meson. Теперь мы добавили отдельное окно Meson (View | Tool Windows | Meson). Там есть список таргетов сборки и полезные команды, например clean
, install
, test
и другие.
Если вы создаете проект Meson, воспользуйтесь мастером New Project в CLion: он значительно упростит процесс. Шаблоны файлов для нового проекта Meson можно настроить в меню Settings/Preferences | Editor | File and Code Templates | Meson Project.
Выбрать путь к исполняемому файлу Meson можно в настройках Meson в CLion. Кроме того, любые дополнительные команды Meson можно указать в поле Setup options.
Теперь CLion обеспечивает отладку таргетов с несколькими процессами. Новая версия позволяет обновлять политики отслеживания и отключения через контекстное меню. Функция работает на Linux (с LLDB и GDB), а также для удаленных тулчейнов (WSL, удаленные среды и Docker).
Подробнее об этих настройках читайте в документации.
Если вы разрабатываете встроенное программное обеспечение и пишете деревья устройств, вам пригодятся функции помощи при создании деревьев устройств, которые появились в CLion 2023.3. В новой версии мы улучшили анализ кода для файлов дерева устройств и обеспечили синхронизацию по умолчанию для CMake с настройками Zephyr.
Для валидации свойств узлов с привязками мы добавили новые проверки для недопустимых типов свойств, а также для обязательных или необъявленных свойств.
Инспекция Duplicate element выявляет дубликаты элементов в узлах дерева устройств. Это могут быть два или более свойства с одним именем, а также два или более узла.
Если используется перечисляемый тип, CLion проверяет значения таких свойств и сообщает о недопустимых значениях.
Чтобы писать деревья устройств было удобнее, мы добавили автодополнение кода для корневого узла.
В JetBrains IDE версии 2024.1 доступна бета-версия нового терминала. Переключиться со старого терминала на новый и обратно можно в меню Settings/Preferences | Tools | Terminal | Enable New Terminal.
Мы расширили функционал, улучшили интерфейс и оформили его в соответствии с обновленным внешним видом IDE.
Пока что терминал поддерживает только Bash, Zsh и PowerShell, но мы работаем над поддержкой других командных оболочек. Подробнее
А вот что нового ждет вас при работе с системами контроля версий в CLion:
Подробно обо всех изменениях читайте здесь.
Навигация по новым кодовым базам и большим файлам бывает не очень удобной. Чтобы вам помочь, мы добавили в редактор липкие строки: при прокрутке основные структурные элементы, например начала классов или методов, закрепляются в верхней части окна редактора и остаются на виду во время прокрутки кода. Благодаря этому вы все время будете видеть контекст, а для быстрой навигации достаточно просто кликнуть по закрепленной строке.
В предыдущих версиях CLion уже появилась возможность увеличивать и уменьшать размер всех элементов интерфейса одновременно. Однако масштаб можно было менять только в диапазоне от 100% до 200%. Теперь же можно уменьшить масштаб IDE до 90%, 80% или 70%.
В CLion 2023.3 официально появился JetBrains AI Assistant, который ранее был доступен только в рамках технического превью. Теперь он предлагает еще больше действий, учитывающих контекст конкретного файла и проекта в целом. Благодаря ему разработка на C++ станет еще более продуктивной. Кроме того, в новой версии расширена поддержка моделей проектов, добавлены инструменты для более глубокого анализа кода и просмотра базового кода сборки, а также появилась поддержка файлов деревьев устройств для разработчиков встроенного ПО.
В CLion теперь официально доступен JetBrains AI Assistant. Мы добавили ряд новых возможностей и улучшили уже известные функции, чтобы сделать работу в IDE JetBrains еще эффективнее.
В CLion 2023.3 AI Assistant может генерировать более качественную документацию и объяснять причины ошибок, происходящих во время выполнения программы. Кроме того, обновление включает в себя контекстный чат-бот и действия на основе ИИ, учитывающие расширенный контекст проекта для более точных результатов.
Чтобы использовать AI Assistant как дополнительную функцию CLion, вам потребуется подписка на JetBrains AI.
Мы стремимся устранить давние проблемы с качеством и производительностью и обеспечить единообразный подход к работе во всех наших инструментах для C++, поэтому мы выпускаем CLion Nova. Это версия CLion с языковым движком для C++ из ReSharper C++ и JetBrains Rider, которая бесплатно доступна в рамках технического превью. Она предлагает:
Подробнее о предварительной версии CLion Nova и условиях ее бесплатного использования
Для проектов C и C++ используются разные модели. CLion из коробки поддерживает проекты CMake, Makefiles, Autotools и проекты на основе Compilation Database. В версии 2023.3 появилась долгожданная поддержка Meson, а также устранены многие проблемы с плагином Bazel для CLion.
Подробнее об внесенных изменениях
В CLion есть встроенный анализатор потоков данных, который работает все время, пока вы пишете код, помогая повысить его качество. В версии 2023.3 мы улучшили точность и производительность анализа в целом, а также добавили анализ утечек памяти.
Подробнее о новых возможностях анализа
CLion помогает вам понять, что именно делает тот или иной код, и найти ошибки в кодовой базе. Новая встроенная опция Run to Cursor ускоряет навигацию по коду в отладчике, а представление файлов Assembly удобно использовать, когда нужно найти ошибку или оптимизировать производительность кода.
Подробнее о новых возможностях
Дерево устройств — это иерархическая структура, которая содержит сведения об оборудовании. Оно широко используется в Zephyr и обеспечивает первоначальную настройку оборудования. В новой версии CLion читать такие файлы, перемещаться по ним и изменять их стало гораздо удобнее. IDE распознает файлы с расширениями .dts и .dtsi как файлы дерева устройств, так что для них теперь доступны функции помощи при написании кода.
Подробнее о поддержке деревьев устройств
Были сделаны важные улучшения в плагине Bazel для CLion, созданном Google:
strip_include_prefix
и поэтому использует правильные пути при поиске включенных заголовков; local_repository
или new_local_repository
, в новой версии CLion корректно синхронизируются и индексируются. В CLion появилась поддержка Meson! Теперь можно открыть проект Meson в CLion и выполнить его сборку, запуск и отладку. Функция работает на всех платформах и со всеми локальными и удаленными тулчейнами, включая WSL и Docker.
CLion обеспечивает следующие возможности для редактирования файла meson.build:
executable(...)
и library(...)
. Новая версия поддерживает условия equals
и notEquals
для предустановок CMake, поэтому теперь CLion не показывает предустановки, не соответствующие этим условиям.
В CLion 2023.3 больше не нужно запускать сеанс отладки, чтобы исследовать базовый код сборки. Новое действие Show Assembly использует настройки компилятора из текущей конфигурации, компилирует код из просматриваемого файла C/C++ в сборку и открывает редактор с предварительным просмотром, где показано, какой исходный код дает ту или иную часть сборки.
Во всех представлениях Assembly в CLion (как с сеансами отладки, так и без них) теперь можно переключиться на синтаксис сборки x86 (Intel). Для этого в окне представления Assembly откройте меню Options и обновите представление, чтобы применить изменения.
В новом интерфейсе CLion 2023.3 появился новый встроенный параметр Run to Cursor. Он позволяет в ходе отладки выполнить код до определенной строки. После приостановки выполнения программы можно навести курсор мыши на строку, до которой нужно выполнить программу, и нажать на всплывающее окно Run to Cursor. Код будет выполняться, пока не дойдет до строки, в которой открыто всплывающее окно.
Чтобы помочь вам с гибкой настройкой оборудования, мы добавили в CLion поддержку файлов деревьев устройств. IDE распознает файлы с расширениями .dts и .dtsi как файлы дерева устройств, так что теперь для деревьев устройств доступны функции помощи при написании кода. Подробнее — в онлайн-документации.
Чтобы вам было проще читать существующие файлы деревьев устройств, CLion предлагает:
CLion поддерживает следующие функции для более эффективного создания файлов деревьев устройств:
/<commands>/
и меток;/bits/
.В CLion 2023.3 реализован новый подход Function summaries, который позволяет различать контексты разных функций для произвольных вложенных цепочек вызовов. Благодаря этому анализ потока данных дает более точные результаты.
Теперь существующие инспекции в рамках анализа потока данных учитывают также и поля. Кроме того, появилась новая инспекция, которая предупреждает разработчика, если не все поля инициализированы.
Мы реализовали новый анализ утечек памяти. Теперь вы сможете легко найти случаи, когда память была выделена, но не была освобождена, прежде чем она окажется недоступна.
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. Его можно открыть по ссылке на начальном экране или через меню Help | Learn IDE Features. Подробнее — в онлайн-документации.
Обучение начинается с общего обзора, где вы познакомитесь с CLion. Вам будут представлены основные действия пользователя: навигация по представлениям и панелями, открытие файлов в редакторе, запуск программ, автодополнение символов, использование быстрых исправлений и поиск символов.
Если вы хотите сделать интерфейс IDE более компактным, основную панель инструментов можно скрыть в режиме просмотра по умолчанию. Для этого откройте меню View | Appearance и снимите флажок Toolbar.
Чтобы разработчикам было проще ориентироваться, когда они работают в редакторе одновременно с разными типами файлов, мы добавили цветовые обозначения по умолчанию для вкладок редактора — они соответствуют обозначениям в окне Project.
Функцию Speed search, которая позволяет быстро переходить к нужному месту в окнах и диалогах, теперь можно вызвать с помощью сочетания клавиш. Выбрав дерево или список, можно легко вызвать поиск через меню Options текущего окна, нажав Ctrl+F либо просто начав вводить запрос.
Если вы хотите быстро вернуться к исходному расположению окон CLion по умолчанию, это можно сделать, воспользовавшись настройкой Window | Layouts | Default.
Чтобы сэкономить время на этапе индексирования тестов, можно вручную настроить в CLion поиск тестов в определенных директориях. Для этого создайте область доступа Tests, и тогда индексация будет проводиться только для файлов, попавших в эту область.
Область доступа Tests можно использовать для фильтрации представления «Project» и быстрого доступа к файлам тестов в проекте. Подробнее
В CLion 2023.3 значительно расширена поддержка Dev Containers: вы можете легко добавить дополнительные инструменты разработчика, среды выполнения и библиотеки с помощью функций контейнеров разработки, которые упрощают настройку основных компонентов. Кроме того, мы реализовали автоматическую переадресацию портов: переадресуются любые порты, которые приложение начинает слушать в Dev Container. Подробнее
CLion 2023.3 предлагает обновленный подход к проверке изменений в файлах. Вам больше не нужно просматривать файлы по одному: все измененные файлы из выборки отображаются в едином фрейме с возможностью прокрутки. Новый инструмент поиска различий поддерживает ревью кода в GitLab, GitHub и JetBrains Space.
Мы расширяем интеграцию с GitLab, которая впервые появилась в CLion 2023.2, и добавили поддержку сниппетов GitLab. Теперь разработчик может создавать как общедоступные, так и частные сниппеты прямо в IDE.
В CLion 2023.2 переосмыслена интеграция с PlatformIO, улучшена поддержка vcpkg, добавлена функция AI Assistant, которая естественным образом встраивается в основные рабочие процессы, расширены возможности низкоуровневой и удаленной отладки, а также отладки для встраиваемых систем.
В CLion 2023.2 появился AI Assistant — помощник на основе искусственного интеллекта, который органично вписывается в ключевые процессы работы в IDE. Для языков C и C++ он умеет пояснять выделенный код, предлагать наилучшие способы рефакторинга и находить потенциальные проблемы в выбранном фрагменте. AI Assistant также генерирует сообщения коммитов и поясняет ошибки CMake.
В CLion 2023.2 низкоуровневая отладка стала проще благодаря возможности просмотра регистров текущего фрейма. Кроме того, значения регистров можно увидеть прямо в окне дизассемблированного кода. Обновленный диалог Attach to Process позволяет подключаться к удаленным и WSL-процессам.
PlatformIO — это платформа с открытым исходным кодом, которая помогает разработчикам встраиваемых систем в работе над проектами. В CLion 2023.2 появилась нативная интеграция с ней. IDE работает непосредственно с файлом platformio.ini: отслеживает изменения в нем и обновляет информацию о проекте соответствующим образом.
Версия 2023.2 наших IDE на базе IntelliJ и .NET-инструментов включают важную новую функцию AI Assistant — помощник на основе искусственного интеллекта. Он находится на ранней стадии разработки, но вы уже можете оценить наш подход к внедрению искусственного интеллекта в привычные процессы работы в IDE и интеграцию его возможностей с анализом кода. Подробнее
AI Assistant пока не входит в стабильные версии IDE JetBrains и устанавливается как отдельный плагин. Доступ к AI Assistant временно ограничен, и вы можете оказаться в листе ожидания.
AI Assistant специализируется на вопросах программирования и понимает контекст вашего проекта. Общение происходит в отдельном окне, и если вас устраивает сгенерированный искусственным интеллектом код, используйте действие Insert Snippet at Caret, чтобы поместить этот код в редактор, или просто скопируйте его вручную.
Выделите фрагмент кода в редакторе и вызовите действие из контекстного меню AI Actions....
AI Assistant умеет:
AI Assistant поможет вам описать внесенные изменения. Нажав кнопку Generate Commit Message with AI Assistant в диалоге сообщения коммита, вы отправите дифы изменений в LLM, и он сгенерирует сообщение, описывающее ваши изменения.
Если при выполнении CMake произошел сбой, нажмите Explain with AI в окне CMake, и искусственный интеллект поможет разобраться, что пошло не так и как это исправить.
Диалог Attach to Process позволяет отлаживать процессы, запущенные вне CLion — локально или удаленно, — и при этом пользоваться интеграцией с отладчиком IDE.
Начиная с версии 2023.2, вы можете:
Низкоуровневая отладка становится проще, когда есть возможность просматривать регистры текущего фрейма. CLion теперь показывает значения регистров на вкладке Variables в окне отладчика.
CLion теперь поддерживает языки ассемблера ARM. Это означает, что в окне дизассемблированного кода для них работает подсветка синтаксиса.
При отладке дизассемблированного кода CLion теперь показывает значения регистров прямо в окне просмотра дизассемблера.
Другие улучшения отладчика:
PlatformIO — это платформа с открытым исходным кодом, которая помогает разработчикам встраиваемых систем в работе над проектами. В CLion 2023.2 из интеграции с PlatformIO был исключен промежуточный уровень CMake. Теперь IDE работает непосредственно с файлом platformio.ini: отслеживает изменения в нем и соответствующим образом обновляет информацию о проекте.
О том, как установить плагин PlatformIO и с его помощью создать новый или открыть существующий проект, читайте в документации.
Некоторые команды pio
теперь можно вызывать прямо из IDE (Tools | PlatformIO) — нет необходимости переходить в терминал. К ним относятся перезагрузка проекта, запуск статического анализа кода проекта, вызов монитора устройства и другие.
Окно PlatformIO обеспечивает быстрый доступ к наиболее часто используемым командам и действиям над проектом.
Другие улучшения:
Для корректной отладки с использованием GDB-сервера Segger J-Link, помимо обычных сигналов SIGINT
и SIGSTOP
, CLion теперь обрабатывает сигнал SIGTRAP
.
Чтобы вам было проще управлять зависимостями проекта и внешними библиотеками, в CLion есть интеграция с vcpkg — менеджером пакетов для C/C++. В версии 2023.2 мы обновили эту интеграцию, расширив набор поддерживаемых сценариев.
В работе с vcpkg существует два подхода: классический режим и режим Manifest. Теперь в интерфейсе CLion их легко различить и можно быстро переключиться в режим Manifest, нажав на специальную кнопку.
Чтобы вам было удобнее работать в классическом режиме vcpkg, мы добавили в окно vcpkg вкладку Console, на которой отображаются все команды и результаты.
В CLion 2023.2 улучшен диалог создания файлов C/C++ для случаев, когда таргет CMake, в который хотелось бы добавить файл, отсутствует. Действие Add new target... создает новый таргет и добавляет его в выбранный файл CMakeLists.txt. После этого можно добавлять в таргет новые файлы.
В CLion 2023.2 добавлена подсветка и автодополнение для новых параметров из CMake 3.25 и для новой команды block, используемой для выполнения нескольких команд в определенной области видимости. В CLion эта команда правильно подсвечивается, форматируется, документируется и сворачивается.
CLion 2023.2 включает CMake 3.26.
Подсказки Parameter Info показывают варианты сигнатур по мере ввода и теперь работают для команд CMake. Они помогают понять, какой параметр вводить следующим, что особенно полезно в командах, имеющих несколько вариантов.
Если в вашем проекте есть Docker-файл с окружением на базе Linux и вы хотите разрабатывать в нем свое приложение с компьютера Windows, можете делать это в CLion при помощи WSL и Docker.
Эмуляция терминала в консоли вывода теперь включается и выключается отдельно для каждой конфигурации. По умолчанию она отключена, а настройка, управляющая ею, перенесена из раздела Advanced Settings в Run Configuration.
В Windows ею можно пользоваться для MSVC-LLDB-отладки как с обычными правами, так и с правами администратора.
Мы усовершенствовали светлую тему, добавив альтернативный вариантLight with Light Header. В нем заголовки окон, всплывающие подсказки и уведомления тоже светлые.
Чтобы вам было проще управлять несколькими конфигурациями запуска, наиболее часто используемые теперь можно закреплять в виджете Run.
При работе в полноэкранном режиме на macOS с использованием нового интерфейса элементы управления окном теперь располагаются прямо на главной панели инструментов, а не на плавающей панели, как было раньше.
Для удобства пользователей Linux в новом интерфейсе мы убрали нативный заголовок операционной системы, уменьшив таким образом визуальный шум. Теперь по умолчанию вы видите только заголовок окна IDE, который можете настроить, как вам нравится.
В новой версии заголовки проектов стали цветными. Это упрощает навигацию, когда открыто несколько проектов. Каждому проекту можно присвоить уникальный цвет и значок, чтобы вам было проще различать их во время работы.
Мы расширили возможности кастомизации главной панели инструментов в новом интерфейсе. Теперь в выпадающем меню можно быстро выбрать действия, которые вы хотите добавить на панель. Для этого кликните правой кнопкой мыши по любому виджету и выберите опцию Add to Main Toolbar, чтобы увидеть доступные варианты.