+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

CLion 2021.2 - реліз кросплатформної IDE для розробки на C та C++

CLion 2021.2 - кросплатформний реліз IDE для розробки C і C++

CLion 2021.2 захистить ваш код від поширених проблем з доступом до пам'яті на C++, автоматично завантажить налаштування збірки додатків з CMake Build Presets, відкриє проект за допомогою GNU Autotools і допоможе з профілюванням на віддаленому хості і на WSL. Крім того, значно поліпшений зневаджувач (найбільші оновлення чекають користувачів на Windows). А для тих, хто тільки вивчає C++ або створює прототипи нової програми чи бібліотеки, ми додали інтеграцію з Cling, інтерпретатором C++.

Нову версію можна завантажити з веб-сайту JetBrains і спробувати безкоштовно протягом 30 днів. Якщо у вас є активна підписка на CLion або Пакет усіх продуктів, просто оновіть до версії 2021.2. Нагадуємо, що при покупці річної підписки на будь-який продукт надається резервна безстрокова ліцензія.

Налагоджувач

Що стосується зневаджувача, то ми завжди працюємо відразу в декількох напрямках: виправлення на бекенді самих зневаджувачів, поліпшення інтерфейсу користувача на стороні CLion, підтримка нових функцій.

Налагодження на Windows

Для тих, хто розробляється на Windows за допомогою ланцюжка інструментів MSVC, ми написали власний DEBUGGER на базі LLDB (не можемо використовувати зневаджувач від Visual Studio з ліцензійних міркувань). Цей же зневаджувач використовується в ранньому попередньому перегляді Rider for Unreal Engine (версії IDE JetBrains Rider для розробки ігор під Unreal Engine), тому ми приділили особливу увагу підтримці Natvis - формату опису візуалізації даних в зневаджувачі. У новій версії CLion ми переписали підтримку natvis, і тепер:

  • Доступні параметри налаштування Natvis, такі як успадковуваний атрибут, визначники форматів та CustomListItems.

  • Вбудовані візуалізатори отримали однорядкові колірні описи для всіх конструкцій, не охоплені Natvis.

  • З'явився [Raw View] для значень, створених Натвісом.

  • Сортування змінних у переглядачі значень змінних не впливає на порядок членів класу — сортуються лише самі змінні.

  • Виправлено проблеми з копіюванням змінних у вікні зневаджувача.

  • Виправлено неправильне відображення std::кортежу.

Налагоджувальні дампи пам'яті тепер також доступні користувачам Windows. У CLion все гранично просто: ви запускаєте дію «Виконати» | Відкрийте Core Dump, заповніть налаштування нової конфігурації і вперед!

І ще одним важливим поліпшенням для користувачів Windows є те, що тепер ви можете використовувати консоль cmd.exe для запуску і налагодження додатків замість внутрішньої консолі CLion .

Режим перегляду потоку FreeRTOS

При налагодженні додатків FreeRTOS в CLion тепер можна використовувати режим перегляду зі списками завдань. За допомогою вікна зневаджувача виберіть потрібний потік і перегляньте його змінні:

Загальні поліпшення в зневаджувачі

Коли проект зберігається локально (на тій же машині, на якій працює CLion), конфігурація для налагодження проста і зазвичай не вимагає додаткової конфігурації. Однак, якщо ви будете налагоджувати програму, побудовану на іншій машині (наприклад, CI), CLion вимагатиме від вас вказати зіставлення шляхів у вашому проекті, щоб правильно визначити точки зупинки у вашому коді. За замовчуванням зневаджувач використовує повні шляхи до файлів, але CLion 2021.2 дозволяє використовувати тільки ім'я файлу:

У більшості випадків цього достатньо. Якщо у вашому проекті є два файли з однаковим ім'ям, в кожному з них буде спрацьовувати точка зупинки.

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

До речі, оскільки мова йде про налагодження коду збірки, CLion 2021.2 дозволяє додавати і видаляти точки зупинки безпосередньо на рядках інструкцій при покроковому налагодженні. Як і у випадку зі звичайними точками зупинки, ви можете, наприклад, вказати, що зневаджувач не зупиняє виконання, а лише реєструє значення або повідомлення. Також можна задати інші настройки.

Якщо ви віддаєте перевагу зневаджувачу LLDB, то ця новина для вас: CLion тепер поставляється з LLDB версії 12. Крім того, LLDB тепер можна використовувати для віддаленого налагодження довільного виконуваного файлу (раніше він працював тільки з GDB). Нова конфігурація для налаштування такого налагодження називається Remote Debug:

Щоб покрокове налагодження не відкривало забагато вкладок у редакторі, можна скористатися вкладкою попереднього перегляду. У CLion 2021.2 він доступний під час сеансів налагодження і дозволяє переглядати файли в одній вкладці один за одним (попередньо кожен файл відкривався в новій вкладці).

Настав час нагадати нам про прикру проблему з повністю кваліфікованими іменами. Після підстановки всіх параметрів шаблону і просторів імен вони іноді виявляються настільки довгими, що значення змінної, розташованої після тексту, просто не поміщається у вікні. Ми реалізуємо логіку згортання таких назв на стороні CLion. Сподіваємося, що ці зміни потраплять у наступний реліз – 2021.3. Також плануємо навчити CLion показувати змінні покажчика типу у вигляді масивів, поліпшити шістнадцяткове представлення числових змінних і багато іншого. До речі, якщо вас цікавлять завдання підтримки зневаджувачів в CLion, ми з радістю обговоримо це з вами :) Тут є актуальна вакансія .

Оновлення для проектів CMake, Makefile і GNU Autotools

Ми включили одну з останніх версій CMake в CLion 2021.2, 3.20. Його головною інновацією є пресети CMake Presets. Вони дозволяють зберегти налаштування збірки проекту в універсальному форматі і поділитися ними, наприклад, через систему контролю версій. І тепер CLion також підтримує пресети CMake! Це означає, що ви можете завантажити ці настройки і використовувати їх при роботі зі своїм проектом.

Якщо кореневий каталог вашого проекту містить файл CMakePresets.json або CMakeUserPresets.json , CLion завантажить всі пресети, зазначені там для збірки Build Presets. Поки що це працює лише з другою версією CMake Presets. Стилі з'являтимуться в CLion як профілі CMake , вимкнені за замовчуванням у налаштуваннях/налаштуваннях | Створення, виконання, розгортання | CMake. Поки що редагувати їх можна тільки в редакторі (наприклад, файли json).

Ми зробили невелике відео (англійською мовою) про те, як це працює:

Шаблони для нових проектів CMake тепер можна редагувати. Тобто ви можете змінити вміст кореневого файлу CMakeLists.txt, який автоматично генерується Новим майстром проектів:

Ми розширюємо список проектів Makefile, які підтримує CLion. Тепер CLion може виконати крок попередньої конфігурації , щоб створити Makefile і завантажити з ним проект. Ми оновили список проектів, за якими тестуємо нашу підтримку, додавши нові дані. Завдяки підтримці кроку преконфігурації, CLion тепер може завантажувати проекти GNU Autotools . 

Аналіз часу життя об'єкта

Опитування спільноти показують, що найбільшою проблемою для розробників C++ є безпека пам'яті. Комітет зі стандартизації не обійшов їх увагою. Герб Саттер працює над пропозицією довічної безпеки, яка передбачає аналіз терміну експлуатації об'єктів на етапі складання. Коли саме це з'явиться у всіх основних компіляторах для C++, сказати складно. А поки що ми навчили CLion 2021.2, як виконувати такий аналіз на етапі написання коду в редакторі. Вбудований статичний аналізатор в CLion здатний знаходити найрізноманітніші завдання:

Ви також можете позначити свій код анотаціями GSL (докладний опис є в реченні герба Саттера), і CLion буде використовувати їх при аналізі:

Перекладач для чіпляння

Чи знаєте ви, що на C++ є інтерактивний інтерпретатор Cling? Це свого роду пісочниця, де ви можете створювати прототипи бібліотек або нових додатків або просто вивчати мову C++. Cling тепер інтегрований в CLion. Для користувачів це означає, що:

  • Сеанс cling починається з IDE, викликаючи дію Інструменти | Чіплятися за | Почніть новий сеанс cling... і відкриється у вікні в CLion.

  • Ви можете працювати далі з самою сесією, а можете відправити код інтерпретатору безпосередньо з редактора, використовуючи контекстні дії Відправити обраний код в сеанс, Відправити поточний рядок в сесіюВідправити включені файли заголовків на сеанс.

Підтримка системи контролю версій і локальної історії

Як і інші IDE на платформі IntelliJ, CLion 2021.2 забезпечує поліпшену підтримку систем контролю версій. Так що в список дій, які можна виконати до вчинення, ми додали виконання тестів. А щоб запустити дію «Проаналізувати код » перед коммітом, можна вказати профіль аналізатора коду.

Якщо ваш проект не зберігається в системі контролю версій, локальна історія буде стежити за історією змін. У релізі 2021.2 з'явилася можливість пошуку тексту через краєзнавство. Наприклад, можна знайти текст, який був помилково видалений або змінений.

Різні корисні речі

І ще кілька важливих, нехай і невеликих, поліпшень:

  • Профілювання тепер працює для віддалених проектів і для проектів WSL. В обох випадках необхідно вказати шлях до виконуваного файлу Perf в налаштуваннях /preferences | Створення, виконання, розгортання | | засоби динамічного аналізу Перф.

  • Для віддаленої розробки в Docker тепер ви можете не синхронізувати вихідний код між вашою локальною машиною та контейнером, якщо ви ввімкнули зіставлені томи в Docker. Для цього просто виберіть тип підключення локальної або змонтованої папки в параметрах розгортання .

  • Автозаповнення postfix тепер працює і для літералів.

  • SSH більше не потрібно працювати з WSL, тому що CLion тепер використовує спеціальний WSL API для роботи з підсистемою.

  • У CLion тепер ви можете побачити всі дистрибутиви WSL, які видає команда wsl -l -v, незалежно від способу установки (з Microsoft Store або користувацького дистрибутива).

Інші новини

Найкраща ціна