CLion 2024.3 — новый важный шаг в развитии CLion Nova. Эта версия нашего нового языкового движка была существенно переработана, и в ней добавлен ряд функций, которых вы давно ждали, поэтому теперь она подходит для большинства сценариев использования. Кроме того, этот релиз включает в себя новые возможности разработки для встраиваемых систем, например серверы отладки и поддержка нативной отладки Zephyr West. Наконец, в CLion 2024.3 появились приложение для просмотра изображений OpenCV и возможность подключения отладчика к незапущенному процессу.
Теперь новый, более быстрый языковой движок CLion Nova включен по умолчанию для всех новых пользователей. В этой версии мы добавили несколько функций, о которых вы больше всего просили, и исправили серьезные ошибки. В будущем мы планируем сделать CLion Nova основным движком для всех пользователей, но сначала хотим узнать, нет ли у вас возражений.
В новой версии при отладке кода, содержащего двухмерный массив OpenCV, отладчик позволяет просмотреть его в виде изображения в отдельном диалоге и использовать разные варианты редактирования. Это делает разработку приложений для компьютерного зрения и машинного обучения проще и удобнее.
Мы добавили новую настройку Debug Servers, которая упрощает отладку для встраиваемых систем и удаленной разработки. Используя сервер отладки, вы можете выбрать нужный отладочный зонд для запуска или отладки сборки. Раньше для каждого сочетания отладочного зонда и таргета сборки приходилось создавать отдельную конфигурацию запуска и отладки.
В этой версии у нашего нового языкового движка 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 % меньше.
Для пользователей это означает:
Иерархия вызовов функций отображает иерархии вызывающих и вызываемых методов, чтобы вам было проще понять, как взаимодействуют ваши функции.
Чтобы посмотреть иерархию вызовов, выберите в редакторе функцию, а затем в главном меню выберите Navigate | Call Hierarchy или нажмите сочетание клавиш ⌃⌥H (macOS) или Ctrl+Alt+H (Windows/Linux).
В этой версии можно выбрать предварительно настроенный стиль кода, например LLVM, Google, Qt или GNU. Это можно сделать в меню Settings | Editor | Code Style | C/C++ | Set from....
Мы добавили на поля редактора иконку для рекурсивных вызовов. Благодаря этому проще увидеть, в каких местах кода вы используете рекурсивные функции, и избежать возможных проблем, например, переполнения стека. Иконка также видна в иерархии вызовов.
Во всплывающем окне 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. Однако есть обходной путь. Мы будем рады, если вы воспользуетесь этой функцией и расскажете нам о своих впечатлениях. Кроме того, мы с радостью обсудим с вами по телефону ваши сценарии использования функции и возникающие проблемы.
В этой версии мы расширили поддержку Zephyr West и добавили возможность нативной отладки проектов West. Благодаря этому легко настраивать и запускать сеансы отладки в IDE.
При импорте проекта Zephyr West в переключателе Run/Debug Configurations автоматически создается конфигурация запуска и отладки West. Создать новую конфигурацию можно и вручную, открыв Run | Edit Configurations... в главном меню.
При отладке периферийных устройств микроконтроллера, например контактов GPIO или таймеров, теперь вы сможете сразу видеть результат внесенных изменений, отредактировав реестр периферийных устройств на панели Peripherals в окне Debug.
MISRA C++:2023 — свежая версия стандарта с рекомендациями по использованию C++17 в системах с повышенными требованиями к безопасности. В статическом анализаторе CLion теперь есть много проверок из этого стандарта.
Если вы отлаживаете приложение для компьютерного зрения или машинного обучения с OpenCV, теперь можно просматривать двумерные массивы OpenCV как изображения. Они открываются в отдельном окне с возможностью редактирования и функциями вроде обновления изображения при пошаговой отладке.
В диалоге отладчика Threads & Variables нажмите View as image.
При отладке строк, в которых есть символ переноса строки или данные JSON, XML или HTML, их можно прямо в отладчике посмотреть отформатированными согласно стилю кода. Нажмите View рядом с переменной, и структурированные или исходные данные откроются в отдельном окне.
Теперь отладчик можно подключить к незапущенным локальным процессам. После этого при запуске процесса автоматически начнется его отладка. Это очень удобно, например, когда часть проекта написана на C++ и выполняется в CLion, а другая часть написана на другом языке и выполняется во внешнем окружении.
Чтобы настроить подключение, откройте в главном меню Run | Attach to an Unstarted Process....
Мы обновили встроенные отладчики:
Обновленный плагин JetBrains AI Assistant теперь использует нашу собственную языковую модель для C++, благодаря чему облачное автодополнение кода в CLion стало быстрее и точнее. Она предлагает больше разных сценариев использования и отличается улучшенным сопоставлением суффиксов, так что предлагаемые фрагменты точно соответствуют уже существующему коду.
Одно из самых заметных улучшений касается многострочного автодополнения: теперь оно поддерживает подсветку синтаксиса, а предлагаемый код можно принимать по частям.
Многострочное автодополнение работает в сочетании с обычным автодополнением и автодополнением строки целиком (последнее основано на локальной LLM и не отправляет данные в облако). Это позволяет проверять и принимать предложенный код по частям. Кроме того, с помощью сочетаний клавиш ⌥→ на macOS и Ctrl+→ на Windows можно принимать предложения по одному слову.
Если вы только начинаете работать с CLion, вам помогут обновленные подсказки. Они познакомят вас с основными функциями IDE и помогут быстро разобраться в ее возможностях, чтобы вы быстрее освоились и начали работать эффективно.
Мы сделали уведомления о статусе проекта менее навязчивыми, переместив их из верхней части редактора в новый виджет в строке состояния. Теперь, когда вы, например, создаете новый файл .cpp в проекте, появится значок . Уведомление о том, что файл не относится ни к одному проекту, появится только при наведении курсора на значок. Если кликнуть по нему, виджет предложит добавить файл в CMake проект. Если это не нужно, просто закройте всплывающее окно, и значок останется в строке состояния.
Новый интерфейс терминала стал компактнее за счет уменьшения интервалов и занимает меньше места на экране. В результате стало больше места для команд, и с ними удобнее работать.
По умолчанию CLion теперь подсвечивает все случаи использования выделенного вами текста в любом файле, а не только в .c и .cpp. Так сразу хорошо видно, где в файле встречается выбранный текст. Изменить настройку можно в разделе Settings | Editor | General | Appearance.
Пакет CMake обновлен до версии 3.30.5.