What's New in CLion

CLion 2024.2 introduces deeper integration with the ReSharper C++/Rider C++ language engine, performance improvements for the debugger, new features for embedded development, and enhancements for project models and build tools.

Download

Free 30-day trial available

Key updates

CLion Nova

In this release, we’ve implemented several of the most requested features for the new language engine from ReSharper C++/Rider C++ (also known as CLion Nova), such as remote development via JetBrains Gateway, Code With Me for collaborative development, AI functionality, and more! The new engine has also become the default for new CLion users!

Full line code completion for С++

Are you prevented from using cloud-based AI features? CLion 2024.2 introduces a new type of code completion that works completely locally, offering single-line suggestions based on the context of the current file.

These suggestions are powered by language models that run on your machine without sending any of your code over the internet.

Zephyr West support

Comprehensive support for Zephyr West comes to CLion, allowing you to open a Zephyr project in the IDE and build, run, and flash it using Zephyr’s West tool.

The bundled plugin that provides the integration with West also brings language support for Kconfig, which is widely used not only in Zephyr projects but also in the Linux kernel and other projects.

Debugger improvements

CLion 2024.2 brings several improvements to the debugger, such as faster node expansion in GDB, more pretty-printers for complex data types, and a fix for the issue preventing debugging on Windows using WSL with GDB Multiarch.

Full line code completion for С++

Previously introduced for Java, Kotlin, Python, JavaScript, TypeScript, CSS, PHP, Go, and Ruby, full line code completion has become available for C++ with this release.

This feature suggests entire lines of code using a locally run deep learning model without sending any data outside your IDE. It’s included with your active JetBrains IDE subscription at no additional cost.

❗️Full line code completion works only with CLion Nova, the new ReSharper C++/Rider C++ language engine, which can be enabled in Settings/Preferences | Advanced Settings | CLion | Use the ReSharper C++ language engine (CLion Nova).

CLion Nova

Nova as the default for new users

With the 2024.2 release, CLion Nova has become the default for new CLion users. The new language engine will be enabled automatically when you install the new version, unless CLion detects settings from a previous installation or you choose to import them.

Remote development via Gateway

Support for remote development via SSH using JetBrains Gateway is now available when you are using CLion Nova.

To start a new remote session, go to File | Remote Development or launch JetBrains Gateway and click New Connection under the SSH connection provider.

Code With Me

Code With Me can now be used for collaborative development with CLion Nova.

To enable Code With Me support, go to Tools | Enable Code With Me. Alternatively, use Search Everywhere (Double Shift) and search for “Enable Code With Me”.

Semantic highlighting

Optional semantic highlighting uses different colors for different variables and parameters in your code, helping you recognize them easily at a glance.

Name suggestions

AI Assistant now suggests names when you use the Rename and Change Signature refactorings.

Cloud-based code completion

Inline code completion provided by cloud-based LLMs via AI Assistant is now supported regardless of whether CLion Nova is enabled.

Inline code completion autocompletes single lines, entire functions, and even whole code snippets based on the project's content.

Custom clang-format binary

CLion Nova allows you to use an external clang-format binary instead of the one built into the IDE.

To provide the path to the binary, go to Settings/Preferences | Editor | Code Style | C++.

Field offsets and sizes

Field offsets and sizes for classes and structures are now shown in the popup that appears when you hover over them.

Other improvements

  • The quick documentation popup shown on hover now suggests quick-fixes.
  • Encoding no longer prevents the opening of non-UTF-8 files.
  • Custom TODO settings now persist after IDE restart.

Project models and build tools

Zephyr West support

Version 2024.2 introduces the West project model, which makes it much easier to set up, open, and build a project that uses Zephyr.

West project building and flashing

West projects allow you to build and flash your project into a microcontroller without having to perform lots of tedious actions like setting up West as an external tool in CLion and creating a custom build target for each of your Zephyr applications.

Project conversion

Zephyr projects opened previously as CMake ones can be reopened as West projects using the Convert to West Project action. Conversely, a dedicated action is available for converting West projects back into CMake ones.

Python interpreter setup

CLion automatically creates and enables a Python interpreter if there is a directory with a Python virtual environment next to the .west directory in the Zephyr workspace.

Kconfig language support

In addition to integration with West, CLion 2024.2 provides language support for the Kconfig configuration language, which is widely used in Zephyr projects, the Linux kernel, and other projects.

Other improvements

  • CMake projects with multiple files now load faster when using a remote toolchain.
  • By default, the C++20 standard is used for newly created projects.
  • We updated the bundled Ninja tool to version 1.12 to display build outputs faster without buffering.
  • CLion’s spellchecker based on JetBrains Grazie now works with CLion Nova.
  • CLion’s Features Trainer has also been adapted for CLion Nova and offers some additional lessons.

Debugger

GDB pretty-printers

We’ve resolved several issues with GDB pretty-printers, ensuring that complex data types are shown in a more readable and convenient manner.

The debugger now better represents various types, such as std::shared_ptr, std::array, std::valarray, std::list, and std::forward_list.

Faster variable expansion

CLion 2024.2 comes bundled with GDB 14.2, which contains a patch written by our team to speed up variable expansion.

Editor

Inline rendering of documentation comments for С and С++

Instead of presenting comments as walls of text mixed with tags, CLion offers inline rendering, which converts them into a more visually appealing format complete with links and code blocks. No more struggling with confusing tags – you can see everything more clearly. Inline rendering works in any C or C++ file to improve your reading experience.

Support for math syntax in Markdown files

CLion can now natively render mathematical expressions in Markdown files. You can use $ to insert inline math expressions and $$ for code blocks with math content when working with Markdown.

Language-specific settings for sticky lines

You can now set sticky lines more precisely and choose the languages they appear in. You can tailor the feature to your preferences either in Settings/Preferences | Editor | General | Sticky Lines or by calling the context menu with a right-click on a sticky line in the editor.

Other enhancements

Enhanced user experience with local history

We've modernized the UI of the Local History dialog. Additionally, when accessed for a directory, the dialog now features a diff view alongside the list of changes, making them easier to understand. To simplify reviewing changes in complex projects, we’ve made the Local History action available for multiple files or directories simultaneously. In the Project tool window, select multiple files or folders and choose Local History | Show History to view a popup with the change history for your selections.

Bundled localization plugins

To improve the IDE experience for native speakers of Chinese, Korean, and Japanese, we’ve bundled the support for these languages. The language settings are available in Settings/Preferences | Appearance & Behavior | System Settings | Language & Region.

New UI as the default

Starting with version 2024.2, the so-called “New UI” that we first introduced with the 2022.3 releases of JetBrains IDEs has finally become the default for all users.

If you are particularly fond of CLion’s old look, you can enjoy the classic UI by installing the corresponding plugin.

Download

Free 30-day trial available