What's New in CLion 2025.2

CLion 2025.2 introduces new enhancements to the CLion Nova language engine, including the reworked formatter. It also offers new features for embedded developers, such as live watches for monitoring global variables in real time without stopping the program. We’ve also updated the project status widget and expanded the functionality of the GoogleTest integration.

Key updates

CLion Nova’s improved formatter

We’ve significantly reworked the C and C++ code formatter’s functionality, the corresponding status bar widget, and the widget and settings UI. The main result of this improvement is that the relationship between the editor’s indent size, the status bar widget’s information, and the formatter settings is now consistent and clear. You can also configure alternative formatter options, such as ClangFormat, Indents Detection, or EditorConfig, directly from the widget, without having to do so via the settings.

Faster remote development with CLion Nova

We’ve improved the performance and responsiveness of CLion Nova when working remotely. The typing assistant now runs on the thin client instead of the server. This means that, in certain situations, you won’t have to wait for the backend’s response, and that your internet connection no longer affects the IDE’s responsiveness. Features like auto-inserting the paired <>, [], or () brackets or smart indentation when the backspace key is pressed are now as fast as when working locally.

Note that some typing assistance features have not yet been moved to the thin client, but we’re working on this.

Live watches in the debugger

The live watches feature allows you to monitor global variables in real time without stopping the program’s execution. This is especially useful for developers of embedded systems who work with time-critical protocols, such as Bluetooth or Zigbee, or with physical processes that require uninterrupted operation, like electric motor control or real-time sensor sampling.

This feature is enabled by default. To use it, ensure that the Debug Servers option is enabled in Settings | Advanced Settings | Debugger. Note that live watches currently only work with the SEGGER J-Link and ST-LINK debug servers, or the generic server when it is connected to SEGGER J-Link or ST-LINK debug probes. You can learn more about the other limitations in the documentation.

ESP32 debug server

In addition to the generic, SEGGER J-Link, and STM32 debug servers, you can now use one specifically designed for ESP-IDF projects. It contains only the most basic and essential settings, and everything else is preconfigured to simplify the configuration process.

Go to Settings | Build, Execution, Deployment | Debugger | Debug Servers, click +, and select the ESP-IDF template. There, you can configure the parameters of your debug server, device, and debugger. If you need more detailed configuration options, you can convert your ESP-IDF debug server into a generic one.

CLion Nova

Fixes for issues involving missed compilation errors

Previously, CLion Nova would sometimes overlook possible compilation errors when analyzing your source code and not show the corresponding warnings in the editor. As a result, these errors appeared only in the terminal after the build was complete. Now, CLion Nova catches all the errors before you click Build, Run, or Debug.

Improved support for GoogleTest

We’ve extended the capabilities of our GoogleTest integration in CLion Nova, so that now CLion Nova’s GoogleTest features match those of CLion Classic. One of the essential features is the support for the TEST_P macro. It’s useful for parameterized tests where you need to run the same test logic with different input values. Now, you can run a parameterized test by clicking the green Run button in the gutter next to a TEST_P function.

Other improvements

Updated project status widget

We’ve improved the functionality and UI of the project status widget by making its warnings more prominent and more interactive. For example, if your file doesn’t belong to a project, you can fix this by clicking the corresponding link. You will then be able to:

  • Configure a CMake project
  • Configure a run configuration for the current file
  • Create a c_cpp_properties.json file

If the warning is irrelevant to your current task, you can now simply close the banner – an option that wasn’t previously available. An example of the latter case would be if you needed to open an out-of-project file to analyze code.

Low-level exception suppression in the debugger

While debugging, you can now suppress low-level exceptions triggered by __debugbreak() or inline assembly with int3. This is especially useful when debugging complex game projects because it allows you to skip the game engine’s low-level assertions that trigger manual breakpoints. This feature gives you more control over low-level exceptions and signals. You can choose when you want the debugger to stop and when it should continue debugging.

CLion and Rider share this functionality, and you can check out this blog post from the Rider team to learn more about how the feature works and how to configure it.

To learn more about other updates in the 2025.2 release, read our blog post.