The CLion 2024.3 Early Access Program Is Open
The Early Access Program for CLion 2024.3 is officially launched. The first EAP build 243.12818.61 is now available, giving you an early glimpse into the enhancements we’ll include in the upcoming major release. You can download the build for free from the link below, via the Toolbox App, or as a snap package if you’re using Ubuntu.
Give it a try and let us know what you think about the changes. Share your feedback in the comments section or via our issue tracker.
Read on to learn more about the key features and updates in CLion Nova, embedded development integrations, and other IDE components.
Enhanced cloud code completion
CLion’s cloud code completion powered by JetBrains AI Assistant has become faster and smarter thanks to the internally trained large language model (LLM) for C++. One of the most prominent results is the improved multiline code completion, with enhanced usage scenarios, syntax highlighting, and incremental acceptance of code suggestions.
Multiline code suggestions work in conjunction with standard code completion and full line code completion (the latter uses the local LLM and doesn’t require sending data to the cloud). This allows you to review and accept suggestions gradually. You can also accept suggestions word by word using the shortcut ⌥→ for macOS and Ctrl+→ for Windows.
The updated cloud completion now offers a broader range of usage scenarios, with enhanced suffix matching ensuring that the predicted code fragment correctly completes the existing code.
If you have installed AI Assistant, the new cloud code completion is enabled by default. You can manage it via Settings | Editor | General | Inline Completion.
Note that these features are available only to users with a trial or paid subscription to the JetBrains AI Assistant plugin.
CLion Nova
The notable improvements can be broken down into two main categories: language-specific and those related to IDE memory usage.
Language-specific improvements
We’ve added one of the most requested features – predefined code styles from other languages and frameworks, including LLVM, Qt, Google, GNU, and more (CPP-36365). You can select your preferred code style via Settings | Editor | Code Style | C/C++ | Set from…
One of the UI updates is support for a gutter icon for recursive calls:
This makes it easier to see where you are using recursive functions in your code and to avoid potentially harmful situations like stack overflows.
We’ve also enhanced CLion Nova with support for some of the newest standard library features and for switch
cases with a range of values, which is a GNU extension.
Memory usage improvements
Many improvements in CLion Nova have helped reduce the memory footprint, which is especially noticeable in large projects. We’ve tested the result of these optimizations by comparing the memory usage of a Chromium project in CLion Nova 2024.2 and 2024.3 (EAP). The result showed that, in the new version, the IDE frontend uses 51% less memory while the IDE backend uses 15% less.
From a user perspective, the most tangible result of these numbers is the following:
- The IDE is now more responsive because it uses less memory, and the garbage collector is called less often. This is especially helpful on hosts with limited memory.
- The IDE is ready to work faster and more responsive to project modifications.
Project formats, build tools, and debugging
We’ve fixed an issue that was slowing down the reload of some medium and large CMake projects (CPP-39211). The reload time has been reduced from minutes to seconds.
The following bundles have been updated:
- CMake to 3.30.
- LLDB to 18. Note that the JetBrains LLDB fork used for the MSVC toolchain still uses an older version of LLDB.
Embedded development
Several enhancements have been made to the PlatformIO integration, including the following:
- PlatformIO is now detected when installed via Homebrew and venv.
- CLion correctly identifies source files in PlatformIO projects, and code analysis works as it should.
- The upload action is now available for all targets, even those not explicitly added to
env
.
Other updates related to embedded development include:
- The Serial Port Monitor plugin now correctly detects the ports of USB devices that are set via soft link paths. The plugin has also received UI improvements.
- The Zephyr West config files now have syntax highlighting to make the code easier to read and understand.
- Support for .dts and .dtsi files has been extended. C preprocessor directives such as
#ifdef CONFIG_SPL
and#ifdef CONFIG_ROCKCHIP_EXTERNAL_TPL
are now processed correctly and do not cause syntax errors.
Other improvements
If you are just starting with CLion, this update is for you. We’ve improved the onboarding tips so that you can try out some of CLion’s key features and get a clearer picture of its capabilities right from the start. The main goal is to help you learn the IDE faster.
In addition, starting with v2024.3, the new terminal is the default. It provides features such as separating command output into distinct visual blocks and completion for command names, flags, arguments, and paths. To learn more about the new terminal, see our documentation.
Read the full release notes on our YouTrack page. Learn more about our plans for this release in the CLion 2024.3 roadmap.
Call for feedback
Your feedback is important to us, as your experiences and insights are essential to our mission of continuously improving CLion. Please share your ideas in the comments section below or submit them to our issue tracker. We would also be interested in setting up a quick call with you to learn more about your specific use cases. Let us know if you would like to participate!
Your CLion team
JetBrains
The Drive to Develop