News Releases

CLion 2024.1 Is Available! CMake Writing Assistance, Debugger Enhancements, and Improvements for Embedded Development


CLion 2024.1 is now available! This version of the powerful JetBrains IDE for C and C++ introduces:

2024.1

Build 241.14494.288 is ready and can be downloaded from our website, via the Toolbox App, or as a snap package if you are using Ubuntu. 

DOWNLOAD CLION 2024.1

Project models

CMake

The 2024.1 version of CLion is bundled with CMake 3.28. Ninja support has also been updated to v1.11, which is required for C++20 modules to work with CMake.

Creating CMake scripts can sometimes be challenging. Fortunately, CLion’s coding assistance makes writing and updating them easier. Version 2024.1 brings you more coding assistance features particularly focused on working with targets. We’ve added live templates to help you generate add_executable (type exe) and add_library (type lib) CMake commands. Now instead of typing all of the necessary code in a CMake block, you can type “lib”, for example, and expand this live template into the CMake block. Here’s a glimpse of this feature in action.

CMake live templates

The Find Usages action allows you to search for references of a code element throughout your whole codebase. In CLion 2024.1, we’ve expanded it by adding more actions for target names, meaning you can use code completion for them. Additionally, you can now navigate to the corresponding add_library or add_executable commands from the target usage.

CMake Find Usages

To make it easier to configure and manage complex build systems effectively, CLion allows you to automatically import CMake presets into CMake profiles that will be available for future use. CLion now offers you more flexibility – in version 2024.1, you can configure more granular integration with CMake presets and choose which preset types to import to CLion. For example, you can choose Configure presets from the import list.

The latest version of CLion includes other CMake-related feature improvements and issue fixes. More details can be found here.

Bazel

Bazel is becoming increasingly popular among C++ developers. Based on feedback from our users, we’ve come up with a variety of enhancements to the Bazel for CLion plugin:

  • We have fixed a couple issues preventing projects with MODULE.bazel from being opened (#6155, #6127)
  • We improved handling for the strip_include_prefix attribute and introduced support for include_prefix in the cc_library rules.(#5969, #6007)
  • We fixed non-passed environment variables for debug runs. (#5771)
  • We updated the default project view template file to simplify the onboarding. (#6175)
  • We added an option to disable fission in debug builds to mitigate GCC issue (#6041)
  • We applied a workaround for the modal Processing … detected file changes dialog. It is not shown anymore after the initial project sync. (#6094)

Meson

As part of our continuing work to improve Meson support, CLion 2024.1 now comes with a Meson tool window, where you can find the list of builds and useful commands. 

Meson tool window

A New Project wizard is now available, streamlining the process of creating new projects. File templates for new Meson projects can also be configured according to your preferences.

The following fixes have been implemented:

  • When you open a Meson project for the first time, in addition to loading it, CLion creates all of the necessary run configurations.
  • The non-default compiler is correctly used for compiling Meson projects when selected in the toolchain.

Debugger enhancements

In CLion 2024.1 you can debug child processes created with the fork function. Use the context menu of the Threads & Variables pane to set up the follow and detach policies, global settings that change the debugger’s behavior.

Debug forked child processes

LLDB allows debugging only one process at a time, so the Detach Process on Fork setting is always selected for it. GDB allows multiple connections and switching between them.

Several additional debugger enhancements will help ensure you have the ultimate debugging experience when investigating and solving problems in your code:

  • CLion now bundles GDB 14.1. The presentation of the standard types that were initially broken with this version in CLion has now been fixed.
  • If you experience performance issues with GDB, try out a new setting that allows CLion to prepare indexes before the debug session starts. This works on Linux machines for executables launched from the IDE.

Improvements for embedded development

For those who develop hardware and write device tree files, CLion recognizes .dts and .dtsi files and provides сoding assistance and code analysis features for them. With the latest version, you can benefit from the improvements for device tree coding assistance. There are several new code checks available for validating the correctness of your node description:

  1. The Duplicate element inspection detects duplicate elements inside device tree nodes. 
  2. New checks for invalid property types, as well as for required or undeclared properties, help you validate node properties with binding.
  3. Values for enumeration types can now also be validated.

Device tree inspections

All inspections that work with property values (e.g. type checks or the enumeration values check) require Zephyr bindings

To help you write device tree files, we’ve added code completion for the root node. 

Device tree root completion

Starting from CLion 2023.3, with the help of the Assembly view, you can explore the underlying assembly code without starting a debug session. In version 2024.1 we’ve introduced several additional enhancements and fixes: 

  • The Assembly view for ARM targets is now shown correctly.
  • Assembly view settings are now applied immediately, without requiring you to manually click the Refresh button.
  • When you edit a file for which the Assembly view is opened, a hint appears suggesting you refresh the preview. 

Improvements to the VCS

This release brings a variety of updates to VCS support in CLion, including:

  • In-editor code reviews for GitLab and GitHub repos.
  • CI status checks in the Git tool window.
  • Prevention of large file commits to repositories.
  • A new Stash tab in the Commit tool window.
  • The option to exclude folders and files from comparisons.
  • And more!

Code review in editor

Learn about all of the changes here.

UI updates and improvements

When you are working on a big project with huge files or a completely new database, navigation can be a bit tricky. To make this easier, CLion’s editor now has sticky lines. They keep key structural elements pinned to the top of the editor as you scroll so you can promptly navigate through the code. 

Sticky scroll

Starting with the 2024.1 release, a Beta version of the new terminal is available in CLion. To enable the new experience you need go to Settings/Preferences | Tools | Terminal | Enable New Terminal.

Terminal Beta setting

Along with its improved look and feel that bring it into alignment with the new UI, other major features include:

  • Separation of command output into distinct visual blocks.
  • Command completion, including completion for command names, arguments, flags, and paths. For each suggested value, the new terminal displays quick documentation.

New terminal

Currently, the new terminal supports PowerShell, Bash, and Zsh, but more integrations are coming! 

Give it a try and share your ideas on how to improve it, either here in the comments or in our issue tracker.

Additionally, CLion 2024.1 expands the range of scaling options, now allowing you to scale the IDE both up and down. 

Zoom in

There are more updates, enhancements, and changes. The full release notes are available here.

In progress

Work is still in progress for some features, and some updates were not included in this release or require additional action from you:

  1. Full line code completion is not yet available in CLion. While we are polishing it, you can try using the Full Line Code Completion plugin to enrich your code completion with multi-token proposals for Python, JavaScript, and other languages. C and C++ support will be coming later. Stay tuned!
  2. CLion Nova has been added to CLion Classic, but it’s switched off by default.To enable it, go to Settings / Preferences | Advanced Settings | CLion | Use the ReSharper C++ language engine (CLion Nova). Give it a try and share your questions with us here in the comments or in our issue tracker.

We encourage you to give CLion 2024.1 a try. If you have an active subscription, you can update today. If you are new to CLion, start your 30-day free trial and experience all the features and improvements right away!

DOWNLOAD CLION 2024.1

Your CLion team
JetBrains
The Drive to Develop

image description