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.
CLion 2023.2 is available in the Toolbox App, as a snap package (on Ubuntu), from our website, or via a patch update from version 2023.1.
Read on for more details about the key improvements in this version.
Debugger update
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 integration
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.
Removing the CMake layer has also addressed some other issues in the integration. More information about this can be found in our online documentation.
vcpkg update
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.
User experience
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 update
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 block
command.
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.
Other improvements
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
JetBrains
The Drive to Develop