В конце июля в JetBrains стартует очередной релизный «паровоз». На этой неделе обновились многие IDE на платформе IntelliJ, на следующей запланированы обновления наших продуктов для .NET. И сегодня мы хотим поговорить о CLion 2021.2 — новейшей версии нашей кроссплатформенной IDE для разработки на C и C++.
Коротко о главном. CLion 2021.2 защитит ваш код от типичных проблем доступа к памяти в C++, автоматически загрузит настройки сборки приложения из CMake Build Presets, откроет проект с использованием GNU Autotools, поможет с профилированием на удаленном хосте и на WSL. Кроме того, значительно улучшен отладчик (самые крупные обновления ждут наших пользователей на Windows). А для тех, кто пока только изучает C++ или прототипирует новое приложение или библиотеку, мы добавили интеграцию с Cling — интерпретатором С++.
Как измерить время выполнения кода | Изучение С++ для начинающих. Урок #145
Новую версию можно скачать с нашего сайта и попробовать бесплатно в течение 30 дней. Если у вас есть активная подписка на CLion или All Products Pack, просто обновите версию на 2021.2. Напоминаем, что при покупке годовой подписки на любой продукт предоставляется резервная бессрочная лицензия.
А теперь поговорим о нововведениях и улучшениях в версии 2021.2 подробнее.
Отладчик
Что касается отладчика, то мы всегда ведем работу в нескольких направлениях сразу: исправления на бэкенде самих отладчиков, улучшения UI на стороне CLion, поддержка новых возможностей.
Отладка на Windows
Для тех, кто разрабатывает на Windows с использованием тулчейна MSVC, мы написали собственный отладчик на базе LLDB (отладчик из Visual Studio мы не можем использовать по лицензионным соображениям). Этот же отладчик используется в раннем превью Rider for Unreal Engine (версии IDE JetBrains Rider для разработки игр под Unreal Engine), поэтому мы уделили особое внимание поддержке Natvis — формата для описания визуализации данных в отладчике. В новой версии CLion мы переписали поддержку Natvis, и теперь:
- Доступны такие возможности настройки Natvis, как Inheritable attribute, спецификаторы формата и CustomListItems.
- Встроенные визуализаторы получили однострочные цветные описания для всех структур, не покрытых Natvis.
- Появилось представление [Raw View] для значений, сгенерированных Natvis.
- Сортировка переменных в окне просмотра значений переменных не влияет на порядок членов класса — сортируются только сами переменные.
- Исправлены проблемы с копированием переменных в окне отладчика.
- Исправлено некорректное отображение std::tuple.
Отладка дампов памяти теперь также доступна пользователям Windows. О том, как собрать дамп памяти упавшего пользовательского процесса на Windows, можно узнать здесь. В CLion же все предельно просто: запускаете действие Run | Open Core Dump, заполняете настройки новой конфигурации и вперед!
И еще одно важное улучшение для пользователей Windows — теперь для запуска и отладки приложений вместо внутренней консоли CLion можно использовать консоль cmd.exe.
Режим просмотра потоков FreeRTOS
При отладке приложений FreeRTOS в CLion теперь можно использовать режим просмотра со списками задач. Используйте окно отладчика, чтобы выбрать нужный поток и просматривать его переменные:
Общие улучшения в отладчике
Когда проект хранится локально (на той же машине, на которой запущен CLion), конфигурация для отладки проста и обычно не требует дополнительных настроек. Однако если вы будете отлаживать приложение, собранное на другой машине (например, на CI), CLion потребует указать соответствия путей в проекте, чтобы правильно определить точки останова в вашем коде. По умолчанию отладчик использует полные пути к файлам, но CLion 2021.2 позволяет использовать только имя файла:
В большинстве случаев этого достаточно. Если же в проекте найдутся два файла с одинаковым именем, точка останова сработает в каждом из них.
Если при пошаговой отладке CLion не найдет файл с исходным кодом, для дальнейших шагов он перейдет к коду на ассемблере. Теперь же в таком случае можно будет явно указать, где искать исходный код, и перейти туда:
Кстати, раз уж мы заговорили про отладку ассемблерного кода, CLion 2021.2 позволяет при пошаговой отладке добавлять и удалять точки останова прямо на строках инструкций. Как и с обычными точками останова, вы можете, например, указать, чтобы отладчик не останавливал исполнение, а лишь записал в лог какое-то значение или сообщение. Так же можно задать и другие настройки.
Если вы предпочитаете отладчик LLDB, то эта новость для вас: CLion теперь поставляется с версией LLDB 12. К тому же, LLDB теперь можно использовать для удаленной отладки произвольного исполняемого файла (раньше это работало только с GDB). Новая конфигурация для настройки такой отладки называется Remote Debug:
Подробнее о настройках отладчика для удаленной отладки можно прочесть в нашем блоге.
Чтобы при пошаговой отладке не открывать в редакторе слишком много вкладок, можно пользоваться вкладкой предварительного просмотра. В CLion 2021.2 она доступна во время сеансов отладки и позволяет просматривать файлы в одной вкладке друг за другом (раньше каждый файл открывался в новой вкладке).
Тут самое время припомнить нам назойливую проблему с полными (fully qualified) именами. После подстановки всех шаблонных параметров и пространств имен они порой оказываются такими длинными, что значение переменной, расположенное после типа, уже попросту не помещается в окно. Мы занимаемся реализацией логики сворачивания таких имен на стороне CLion.
Надеемся, что эти изменения попадут в следующий релиз — 2021.3. Также мы планируем научить CLion показывать переменные типа указатель как массивы, улучшить шестнадцатеричное представление числовых переменных и многое другое. Кстати, если вас интересуют задачи по поддержке отладчиков в CLion, мы с радостью обсудим это с вами 🙂 Вот тут есть актуальная вакансия.
Обновления для проектов CMake, Makefile и GNU Autotools
CLion 2018.3: удаленная разработка, профилирование кода, быстродействие и не только
2018-11-28 в 13:32, admin , рубрики: C, c++, clang, CLion, IDE, jetbrains, Profiler, remote development, Блог компании JetBrains, Программирование
На днях мы выпустили CLion 2018.3. Третий в этом году крупный релиз подытоживает нашу работу по двум важным направлениям развития — улучшению языковой поддержки и удаленной разработке.
- добавили средства профилирования кода;
- переделали команды в редакторе для сборки/пересборки кода на уровне одного файла, нескольких таргетов или всего проекта целиком;
- вместе с другими IDE на базе платформы IntelliJ добавили поддержку Git submodules и GitHub pull requests;
- улучшили средства универсального доступа к возможностям IDE (accessibility).
Подробнее об этих и других нововведениях читайте ниже. А чтобы попробовать новые возможности и улучшения, скачивайте бесплатную 30-дневную версию с нашего сайта.
Поддержка языка C++
Больше С++17
Парсер CLion научился понимать две новые возможности стандарта C++17 — fold expressions и deduction guides. С одной стороны, изменения в парсере — это еще не полная поддержка, но, как минимум, подсветка кода будет более правильная, а для случаев user-defined deduction guides IDE даже правильно выведет тип и его можно будет увидеть, например, при вызове информации о параметрах функции.
Clangd теперь и в навигации
В прошлый раз мы писали о том, что CLion теперь использует не только собственный языковой движок для работы с кодом на C/C++, но и еще один дополнительный, экспериментальный, сделанный на основе Clangd. Включив его для показа ошибок и предупреждений в редакторе, мы двинулись дальше и в CLion 2018.3 реализовали на его основе некоторые действия навигации по коду и поиска в коде.
Языковой движок на базе Clangd предоставляет результаты, которые впоследствии все равно объединяются с результатами, полученными из собственного движка CLion. Типичный пример — Find Usages ( Alt+F7 ): по открытым в редакторе файлам поиск осуществляет Clangd, а по остальным — наш собственный движок.
Примеры других действий, где дополнительно используется языковой движок на Clangd:
- Go to declaration ( Ctrl+B / ⌘B ) / Go to definition ( Ctrl+Alt+B / ⌥⌘B )
- Подсветка всех включений символа, на котором стоит курсор
- Quick Documentation ( Ctrl+Q / F1 )
Clangd включен по умолчанию и настраивается в Settings/Preferences | Languages Behavior | Appearance | Theme).
Вместе с IntelliJ Platform мы переработали меню настроек плагинов в IDE (Settings/Preferences | Plugins). Теперь гораздо проще поддерживать установленные плагины в актуальном состоянии, а также сортировать и фильтровать огромный репозиторий существующих плагинов для IDE.
Система контроля версий
Еще одно важное платформенное изменение — это долгожданная поддержка Git submodules. Теперь все операции для работы с VCS в CLion учитывают и подмодули: клонирование проекта, его обновление, сравнения версий (diff) и пр.
Добавилось окно GitHub Pull Requests, в котором можно не только просмотреть все pull requests, но и искать/фильтровать их по автору или состоянию. А еще можно создать новую ветку из любого pull request буквально в один клик.
Демо
Традиционное видео о новых возможностях CLion 2018.3 на английском языке:
Что же дальше?
В следующем году мы планируем продолжать работу над вторым дополнительным языковым движком на базе Clangd — посмотрим, какие еще возможности IDE мы сможем на нем реализовать. Будем улучшать производительность редактора, доделывать и улучшать имеющиеся фичи; особенно разнообразной выглядит работа по поддержке удаленной разработки в CLion. Из интеграций планируем clang-format и, вероятно, тот или иной отладчик для Windows/MSVC.
А ключевым направлением для нас станет Embedded-разработка. Совсем недавно к нашей команде присоединился Elmot, автор очень популярного плагина для поддержки в CLion OpenOCD + STM32CubeMX. Илья будет продолжать интегрировать эту функциональность в IDE, мы же планируем в самое ближайшее время доделать memory view и переделать hex view.
Вопросы, пожелания, баг-репорты и просто мысли высказывайте в комментариях! Мы будем рады ответить.
Ваша команда JetBrains CLion
The Drive to Develop
Источник: www.pvsm.ru