CLion 2023.2 Released With Better PlatformIO Integration, Updated Debugger, and Brand-New AI Assistant
CLion 2023.2 is focused on enhancing the IDE experience for those who do low-level, remote, and embedded development. It reimagines the PlatformIO integration by removing the redundant CMake intermediate level. Support for vcpkg has been improved to make the Manifest and Classic modes easier to distinguish. Last but not least, the new version includes AI Assistant, weaving its AI capabilities naturally into some of the core IDE user workflows.
Read on for more details about the key improvements in this version.
CLion 2023.2 has updated the bundled debuggers and now comes with LLDB v16 and GDB v13.1.
The integrated debugger can help you quickly find issues in your code and easily understand how the code works under the hood. However, you don’t always launch your app from CLion directly, for example, when developing a service. In those situations, you can attach to a process launched outside of CLion by using the Attach to Process dialog.
As part of our ongoing efforts to improve this dialog, v2023.2 provides you with the following new abilities:
- Attach to local, remote, and WSL processes.
- Select any debugger configured in the toolchains.
- Attach to processes launched remotely with administrative privileges.
Would you like to see other improvements to this dialog? Speak up and let us know!
CLion makes low-level debugging easier by adding a Register view to the debug. Together with the disassembly, memory, and peripherals views, this feature can help you get a better and deeper understanding of what’s going on in your code.
You can inspect register values in the Variables tab of the Debugger tool window:
You can also consult the disassembly view to see the registers inlined right there:
Talking about the disassembly view, CLion now supports ARM assembly languages, which means you’ll see code highlighting for ARM assemblers there.
The Memory view received many updates in the previous version, and now in v2023.2, it also supports on-the-fly memory editing and displays the memory value right after editing.
PlatformIO is an open-source platform that helps embedded developers set up and get started with their projects. Previously, CLion’s integration with the platform came with an overhead for generating intermediate CMake projects. We have overhauled the integration to remove this redundant step and the corresponding lag. As a result, the IDE now works directly with the platformio.ini file, tracking changes in it and updating the project information accordingly.
You can generate a new PlatformIO-based project via the New Project wizard in CLion, or just open an existing project using the .ini file. If you open projects previously created in CLion with the PlatformIO plugin, they will be automatically migrated to the new format when first opened in the new IDE version.
The PlatformIO tool window provides quick access to the most used commands and project actions, while the Tools | PlatformIO menu now lets you quickly invoke
pio commands directly from the IDE.
To help you manage project dependencies and external libraries, CLion integrates with vcpkg, a package manager for C/C++. In v2023.2, the integration got a major update and now supports many additional scenarios.
There is now a way to tell in the vcpkg tool window (look right under Name) whether Classic mode or Manifest mode is active.
Manifest mode is automatically activated when you add a vcpkg.json file in your project. Another way to switch to the mode is by using a dedicated button in the UI (see the gif below). If you do this, CLion will generate the vcpkg.json file for you.
When you are in Manifest mode, the Fix button in the CMake tool window, which appears when the CMake fails to find the package and lets you install the missing packages, now also uses Manifest mode. Also, when you add packages in this mode, the IDE will now automatically add them to your vcpkg.json.
To make vcpkg’s Classic mode more convenient for you to use, we’ve added a Console tab to the vcpkg tool window to show all the commands and output.
AI Assistant [Beta]
The new 2023.2 versions of IntelliJ-based IDEs and JetBrains .NET tools include a major new feature: AI Assistant. It is designed to weave AI assistance into the core IDE user workflows and integrate deep AI features with code understanding.
Even though it’s still in the early stages of development, here’s how AI Assistant can already help you when coding in C and C++:
- Chat with the assistant about code using the new dedicated tool window. For example, you can ask it for help with enabling unit tests in your project or modernizing your C++ code. When you’re happy with the resulting AI-generated code, use Insert Snippet at Caret to paste the code in the editor.
- Select a code fragment in the editor and bring up the newly added AI Actions context menu to have AI Assistant find potential issues, explain the code, or suggest a refactoring.
- Clicking the Generate Commit Message with AI Assistant button in the commit message dialog will send the diffs of your changes to the LLM, and it will generate a commit message describing your changes.
- CMake can sometimes be hard to understand. When CMake execution fails on your project, click Explain with AI in the CMake tool window to get a better understanding of what’s gone wrong and how to fix it.
Learn more about these abilities in our webhelp.
Please note: AI Assistant is not currently bundled with stable releases of JetBrains IDEs and can be installed as a separate plugin available for versions 2023.2.x. For the time being, there is a waiting list for access to AI Assistant.
CLion’s new UI is now the default for new users. It has received lots of improvements and polishing in v2023.2, including the following:
- Main toolbar customization options. Right-click on any widget and use a dropdown menu to quickly choose actions that you want to add to the toolbar.
- To simplify navigation between multiple open projects, we’ve introduced colored headers:
- The hamburger menu in the main toolbar has been reworked on Windows and Linux. Once you click on the menu icon, the elements now appear horizontally over the toolbar.There’s also an option to turn this menu into a separate toolbar, accessible via View | Appearance | Main menu as a Separate Toolbar:
- We’ve added a Light with Light Header theme, which features matching light colors for window headers, tooltips, and notification balloons.
- If you use full screen mode in the new UI on macOS, the window controls are now displayed right in the main toolbar, not in the floating bar as before.
To make managing multiple run configurations easier, we’ve implemented the option to pin preferred configurations in the Run widget. And finally, a text search option has been added to Search Everywhere, similar to the one in Find in Files.
CMake is still one of the most widely used project models for C++, while also being one of the top 5 major C++ pain points for several years. The CLion team is committed to making your experience with CMake as smooth as possible.
Bundling CMake 3.26, CLion 2023.2 adds highlighting and completion for new parameters from CMake 3.25 and for the new
The IDE’s new C/C++ file creation dialog has also been improved for situations when there is no CMake target to add the new file to. You can now use the new Add new target action to create a new target and add it to the selected CMakeLists.txt file:
The Parameter Info popup shows signature variants as you type and is now available for CMake commands. It helps you figure out which parameter to enter next, which is especially helpful for commands that have multiple signatures.
This IDE update also provides:
- Support for Docker in the WSL toolchain.
- Terminal emulation in the output console can now be enabled or disabled separately for each configuration. It is disabled by default.
- Initial integration with GitLab, which allows you to work with the Merge Request functionality right from the IDE.
That’s all for now! We encourage you to give CLion 2023.2 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!
Your CLion team
The Drive to Develop
Subscribe to Blog updates
CLion Nova – Final Update
CLion Nova is a free preview version of CLion equipped with the ReSharper C++/Rider C++ language engine. We started it as a stand-alone preview in November 2023, and since then we’ve received tons of positive and inspiring feedback. Based on that feedback, we’ve added a setting to the recent CLion C…
CLion 2024.1 EAP 4: Switch to CLion Nova in CLion Classic
The CLion 2024.1 EAP 4 build (241.13688.39) is out! It is available from our website, via the Toolbox App, or as a snap package if you’re using Ubuntu. With this build, we’re making CLion Nova available to all CLion Classic users. Switch to it from inside the IDE via the settings menu and try it …
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…