CLion Classic 2023.3 Released With AI Assistant, Meson and Bazel Support, Enhancements for Embedded Developers
CLion 2023.3 features JetBrains AI Assistant, which has now moved beyond the technical preview stage, bringing more context-aware actions to benefit your everyday C++ development workflows. The new release also expands the variety of supported projects by adding Meson and improving Bazel support. New abilities like the Assembly view and enhanced code analysis with memory leak checkers help you dive deeper into your code. Finally, embedded developers can benefit from the support introduced for device tree files. Read on for more details about these and other improvements.
If you are using CLion Nova, note that it’s not being released as part of v2023.3. We are still collecting feedback, addressing issues found by users, and adding notable features that are already available in CLion Classic. You are welcome to use CLion Nova as a free EAP version until we merge it into CLion Classic and release it there. This will happen sometime in 2024.
Key enhancements in CLion 2023.3:
- AI Assistant is now generally available.
- Meson is now supported, and the Bazel for CLion plugin gets major improvements.
- CLion supports device tree files and opens the Assembly view without debugging.
- Data flow analysis (DFA) becomes more accurate and powerful, with new checks for non-initialized fields and memory leaks.
- IDE Features Trainer, UI enhancements, and improvements for QML and VCS.
Smart and powerful assistant by your side
Besides yourself, who knows your project best? Your IDE! This is what makes AI Assistant so context-aware and helpful. In CLion, it’s focused on helping you with tough C++ code, explaining the code, suggesting refactorings, and generating documentation.
Wondering how to adopt C++ modules into your project or link to a selected library in CMake? Send your question to the AI chat. Its answer will take into account the technology you use and your project context.
Need to research an error? AI Assistant in CLion can explain a runtime error, a CMake execution failure, or a selected piece of code.
JetBrains AI Assistant is now generally available. Use AI Assistant in CLion as an add-on with a JetBrains AI service subscription.
C++ project models
Research findings from the Developer Ecosystem 2023 and the C++ Foundation 2023 “Lite” surveys show the variety of choices C++ developers have in terms of project model.
CLion provides first-class support for CMake, works with Makefile and GNU Autotools projects, supports Ninja builds from CMake, and reads projects from compilation databases. There is also a Gradle plugin for CLion. In v2023.3, we added support for Meson and significant improvements to the Bazel for CLion plugin created by Google.
You can open your Meson project in CLion and build, run, and debug it. This works on all platforms and for all local and remote toolchains, including WSL and Docker.
To help you edit the meson.build file, CLion provides coding assistance inside the file:
- Code highlighting
- The Structure view shows executables and libraries if
library(...)commands are present in the file.
Quality improvements in Google’s Bazel for CLion plugin are focused on the more accurate detection of
include headers. In addition, indexing is now performed correctly for projects added to WORKSPACE.bazel.
Embedded development and debugging enhancements
We’ve been working hard to improve CLion for embedded developers, and the usage of CLion in this market has been growing as a result. Now, to help you fine-tune the hardware, CLion supports device tree files. Files with .dts and .dtsi extensions are treated by the IDE as device tree files, and so coding assistance options for these files are provided in the device tree. Check out the online documentation for details.
The support is focused on both reading and writing device tree files:
- For reading: We’ve implemented code highlighting, formatting, and code documentation when hovering over device tree elements. We’ve also added the Structure view.
- For writing: We’ve added code completion for standard nodes,
/<commands>/, and labels, as well as some validation and array size checks.
Whether you develop embedded systems or other projects, the underlying assembly code is often of interest. Reading it helps you catch runtime issues, optimize performance, or simply understand the code better. It’s no surprise that Compiler Explorer is one of the most popular tools for developers. And now, CLion can also show the underlying assembly code without launching a debug session. The new Show Assembly feature does that for you. Moreover, you can also switch to the x86 assembly (Intel) syntax requested by many of our users.
Finally, CLion 2023.3 introduces a new Run to Cursor inlay option in the new UI that offers a quick way to navigate to a specific line of code while debugging.
Striving for better C++ code
CLion comes with a built-in data flow analyzer, which runs constantly when you are writing your code and helps improve your code’s quality. It can reveal various code problems that might later lead to runtime issues, security breaches, and other vulnerabilities. In v2023.3, we transitioned the analysis to a new approach and performed low-level optimizations, bringing great improvements both to analysis accuracy and to memory consumption and performance. Learn more about these changes in our series of blog posts:
- Striving For Better C++ Code, Part I: Data Flow Analysis Basics
- Striving For Better C++ Code, Part II: Function Summaries to Speed Up the Data Flow Analysis
Existing inspections in DFA now consider fields, and there is a new inspection that warns you if not all of the fields were initialized. A new memory leak analysis is implemented, so you can now easily catch cases where memory is allocated but not released before it stops being accessible.
CLion 2023.3 is packed with many other valuable enhancements. Among them, you can find the IDE Features Trainer, a set of interactive tutorials covering the essential IDE functionality. Start it from the Welcome screen or from Help | Learn IDE Features. Learn more in our online documentation.
A main.cpp or main.c file is generated by CLion based on custom templates, which you can edit in Settings/Preferences | Editor | File and Code Templates | Other.
Qt developers can benefit from the new Extra QML imports setting in Settings/Preferences | Languages & Frameworks | QML, which allows the IDE to search for QML imports in specified locations and parse types from user code.
There are also lots of improvements to the user experience and VCS, improved support for Dev Containers, and a new Tests scope, which helps limit the amount of files indexed during test indexation.
We encourage you to give CLion 2023.3 a try. If you have an active subscription, you can update today. Otherwise, feel free to start your free 30-day trial to check out all of the new features and improvements! Use AI Assistant in CLion as an add-on with a JetBrains AI service subscription.
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…