What’s Next for CLion: The 2024.3 Roadmap
The second major release of CLion this year, 2024.2, introduced many improvements and advanced features. These include full line code completion for С++ that runs locally, Zephyr West support, and updates to the new CLion Nova language engine. If you still haven’t tried CLion 2024.2, download and try it today.
We’ve begun our work on the next release, 2024.3, and are prioritizing improvements in the following areas:
🚀 CLion Nova functionality and stability
🤖 Embedded development
🏗️ Project formats and build tools
Read on to learn more about the planned updates.
The following is a preliminary plan and not a promise or commitment. Tasks might be changed or rescheduled for various reasons. We can’t guarantee that all the issues listed below will be addressed in CLion 2024.3.
CLion Nova
CLion Nova is a new language engine that improves the IDE’s performance and accuracy. Since v2024.2, it has become the default language engine for new CLion users. For the 2024.3 release, we are working on some of the most requested features and improvements in CLion Nova related to project navigation, remote development, code style, and more.
New features
Here are the features we plan to add to CLion Nova:
- Call hierarchy displays a function’s callers and callees (CPP-22675). This is one of the most anticipated features missing from CLion Nova compared to CLion Classic.
- MISRA C++:2023 is the latest edition of MISRA C++, which provides guidelines for using C++17 in safety-critical systems. We’ll add support for MISRA C++:2023 checks in the new release; the full list will be announced later. The MISRA C++:2023 checks will complement the currently supported MISRA C 2012 and MISRA C++ 2008 checks.
Frontend-based typing assistance for remote development
The remote development mode in CLion Nova is still in beta. However, we are constantly improving its performance, stability, and functionality to make it production-ready sooner. In v2024.3, we plan to improve the responsiveness of the typing assistant. It is responsible for auto-inserting pair parentheses, brackets, and quotes, as well as smart indentation when pressing Enter, and other important actions.
CLion now performs typing assistance on the server side, not the client side. The network round-trip time adds a noticeable delay between typing and the assistance results. To solve this problem, we move the typing assistance to the client side.
This solution is part of our broader project to move the typing assistance from CLion’s backend to the frontend. First, we will implement this optimization only for the local development scenario. The overall goal is to improve both remote and local development, eventually making typing assistance in the remote mode just as fast as it is in the local mode.
Settings-related improvements
There are several important settings that CLion Nova still lacks. In v2024.3, we will add support for some of them, including those related to code styles:
- Predefined code styles, such as Google, LLVM, and GNU (CPP-36365).
- Header Guard Style, which helps keep header naming according to your pattern (CPP-36933).
We will also be working on various settings-related issues to improve the user experience.
Project formats
We plan to fix the problem where newly added .cpp and .h files are treated as not belonging to any project target, which causes code analysis to fail (CPP-37734, CPP-38040).
Embedded development
Our ongoing efforts are focused on expanding CLion’s functionality and tailoring it to meet the needs of embedded developers across all their use cases. We already support different types of hardware and toolchains. In v2024.3, we will add a new feature for managing debugging servers more easily. This feature simplifies the configuration and execution of specific run/debug configurations for selected projects, such as OpenOCD, Zephyr, or J-Link. Roughly speaking, the feature will instruct CLion how and where to run a configuration. You can configure a debugger type, environment variables, connection, and other settings for each specific project.
Another helpful feature that we plan to include in this update is predefined debug targets (a tentative title), which are like preconfigured templates and will help speed up the configuration of debugging servers.
Project formats and build tools
CLion 2024.2 introduced Zephyr West support for creating and building Zephyr RTOS-based projects. We are gathering your feedback and continuing to improve Zephyr West support accordingly. One of the major features we plan to add in v2024.3 is the ability to run the native west debug command to make debugging more convenient (CPP-39392).
We would appreciate your participation in our user interviews, designed to help us improve Zephyr West support in CLion. You will be rewarded for your time and meaningful feedback.
There is also a lot of work related to Bazel support. One of the key features we plan to add is basic support for the MSVC compiler for Windows users.
Debugger
We are working on a new debugger feature that will make it easier to develop OpenCV-based applications and will be helpful in computer vision, machine learning, and game development (CPP-3659). This feature allows you to view bitmap image data temporarily stored in memory while the program is running. It provides a watch window for viewing bitmaps during debugging. The first version of this feature will support OpenCV image types like cv::Mat
.
Call for feedback
Your feedback is important to us, as your experiences and insights are essential to our mission to continuously improve CLion. Please share your ideas in the comments section below or submit them to our issue tracker.
The free Early Access Program is just around the corner. In the meantime, upgrade to CLion 2024.2 if you haven’t already done so, and let us know what you think.
Your CLion team
JetBrains
The Drive to Develop