Looking for a Next-Generation C++ IDE? Find Out More in The CLion 2024.1 Roadmap
The year 2023 brought many enhancements to CLion, including AI Assistant, dozens of smart C++ code analysis checks, Meson and Bazel support, the Assembly view, device tree file support and enhanced PlatformIO integration for embedded developers, vcpkg support and updates to the Conan plugin, a new UI, and many other improvements. Check out the key updates on our website and give the latest 2023.3.* version a try.
Last year was full of innovations and enhancements for CLion. In 2024, the CLion team is aiming to bring you even more! Read on to see what we’ve got in the works.
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 of the issues listed below will be addressed in CLion 2024.1.
The CLion team has identified the following key objectives for 2024:
- 🚀 Releasing CLion Nova within CLion Classic
- 🌀 Bringing more value to C++ developers through AI Assistant
- 🤖 More useful tools for embedded developers in CLion
- 🪲 Debugger improvements
Apart from these points, we will focus on polishing the existing functionality and simplifying the onboarding experience in CLion. Now, let’s take a look at these plans in more detail.
CLion Nova exploded onto the C and C++ development scene in November 2023. This free early preview version of CLion uses the ReSharper C++/Rider C++ language engine, thus significantly improving the performance and accuracy of the main IDE functions. With 30,000 average monthly users since its release and mostly positive feedback, we now plan to merge CLion Nova into CLion Classic. Initially, the integration will take the form of a non-default mode, but eventually we hope to merge the two fully. We still have a few things we need to cross off our list first, though.
- Fixing the most annoying UX and UI inconsistencies.
- Measuring performance improvements.
- Investigating reported freezes and slow downs.
- Restoring the remote development via Gateway and Code With Me functionality.
- Enabling AI Assistant.
- Potentially reintroducing some less popular refactorings missing from CLion Nova like Move (CPP-35867) and Inline Parameter (CPP-35868).
What is holding you back from switching to CLion Nova? Let us know so we can put it on our to-do list!
Since 2023.3, JetBrains AI Assistant has been generally available as an add-on with a JetBrains AI Service subscription. JetBrains has mobilized major resources and efforts behind the product, as we consider LLM-based assistants for developers promising and life-changing. Constant updates will be delivered to the plugin, so you don’t have to wait until the 2024.1 release. Get the new functionality with every CLion v2023.3.x update.
For AI Assistant in JetBrains Tools, we’re evaluating different LLM providers as options for the AI Assistant backends and are also considering an on-premises scenario. Furthermore, we have a bunch of ideas for how AI can help with C++ code specifically. First, we will be focusing on two main aspects:
- Multi-line cloud completion that can help you write long snippets of code faster. It can also generate boilerplate code, like constructors, destructors, or a spaceship operator. It understands the context of invocation, so it’s aware of the important things like current class details or libraries used.
- Local full-line completion that works with the local LLM. It reads the wider context and generates more accurate suggestions without calling the AI backend on the web.
In addition, as we’ve already mentioned, we’re prioritizing enabling AI Assistant in CLion Nova. Parts of its functionality are dependent on the language engine, so it’s important to verify that they work on our users’ side as expected prior to the integration of CLion Nova into CLion Classic.
How can AI Assistant in CLion be helpful to you and your C++ code? Share your ideas in the comment section of this blog post or submit them to our issue tracker.
Tools for embedded developers
For embedded developers, there are tools we plan to continue working on ahead of releasing them as part of CLion:
- Our work on the Serial Monitor tool window, which allows you to communicate with serial devices like Arduino via the CLion window, has been ongoing for some time already. We hope to finalize the UX and present it to our users in one of the upcoming 2024 releases.
- We plan to continue developing a solution that simplifies configurations for running embedded projects, which usually involve more settings than typical C++ projects and often require configuration of things like the gdbserver, debug probe, and emulators. We are working on creating a UX solution that is easy to use and flexible.
- Zephyr West is a tool that helps with Zephyr project configuration. We are interested in integrating it into CLion and have received several requests for Zephyr West support in the past. We’re currently collecting information about use cases and what users are expecting from this integration. So, if you use Zephyr West in your projects, please provide details as requested in the ticket’s comment.
In April, our team plans to have a booth at the Embedded World 2024 in Nuremberg. Come see us and share your feedback on how CLion can be improved to better meet embedded developers’ needs.
- We’re looking to provide support for forked child processes (CPP-955, CPP-9476) to help users debug multi-threaded applications in CLion. We already have a prototype that works with GDB and Linux-based toolchains. Hopefully, we will be able to release it soon and investigate other setups as well.
- The Assembly view was released in v2023.3. It works similarly to Compiler Explorer, and shows assembly code generated by a compiler. The view allows users to see how a change in the build options affects the assembly code. We plan to put a few finishing touches on this view, improve the UI, and fix some existing issues.
- We’re planning to focus on investigating and eliminating cases of slow debugger performance and debugger UI freezes in CLion.
- The Bazel for CLion plugin will get further improvements. After releasing a bunch of fixes in v2023.3, we hope to collect fresh feedback and address the most annoying issues. So, let us know if you are planning to use or already using Bazel on your C++ projects. It’s also important to ensure Bazel support in CLion Nova, which is currently a bit behind CLion Classic in this regard.
- Meson support was also released in v2023.3, but there are still many important things we want to add to it:
- Regular activities (testing, fine-tuning, etc.) to ensure support for new CMake versions in CLion as they come out.
Call for feedback
To wrap things up, we want to request your input on what we’ve laid out for you in the above sections. Please share your ideas in the comments section below or submit them to our issue tracker. We’re also interested in scheduling short calls with our users to learn about specific cases in more detail. Let us know if you’re willing to participate!
The free Early Access Program will start in a few weeks. In the meantime, upgrade to the latest CLion v2023.3 if you haven’t done so already, and let us know your feedback!
Your CLion team
The Drive to Develop
Subscribe to Blog updates
CLion 2024.1 EAP 3: Assembly View Enhancements
Today, the CLion 2024.1 EAP 3 build (241.12662.59) is available from our website, via the Toolbox App, or as a snap package if you’re using Ubuntu. Here are the main improvements: Assembly view improvements: The Assembly view for ARM targets is now shown correctly (CPP-36901). Assembly vi…
CLion 2024.1 EAP 2: Improved Terminal and Other UX Enhancements
Some time ago, we shared our plans and directions. Just a couple of weeks ago, we kicked off our CLion 2024.1 EAP with CMake coding assistance, code analysis in device tree files, and forked processes debugging. Today, the CLion 2024.1 EAP 2 build (241.11761.23) is available from our website, via…
CLion Nova: AI Assistant and Enhancements From CLion Classic and ReSharper v2024.1
CLion Nova is a free preview of CLion equipped with the ReSharper C++/Rider C++ language engine. With this update, CLion Nova has finally moved to the 2024.1 branch. This means that all of the enhancements brought by the CLion Classic 2024.1 EAP are now available in CLion Nova: CMake writing ass…