Early Access Program News

CLion 2023.1 EAP Adds Support for vcpkg and Improves the Attach to Process Dialog

The CLion 2023.1 Early Access Program starts today!

We recently outlined our plans for the upcoming release in this roadmap post. EAP builds let us get there step by step, and they’re free to use. Give them a try and let us know what you think about the changes! Share your feedback in the comments below or in our issue tracker.

CLion 2023.1 EAP

Build 231.4840.362 is available from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu).


Here are the main highlights of this first EAP build:

Support for vcpkg

vcpkg is a package manager that’s growing in popularity among C++ developers. It helps them address the biggest pain point of the C++ ecosystem – managing dependencies and using external libraries in their code bases with ease. That’s why we’re introducing the support for vcpkg in CLion! If you’ve never heard of vcpkg, their GitHub page is a good place to start and learn more.

vcpkg tool window

CLion’s initial support for vcpkg includes:

  • A Vcpkg tool window.
  • Assistance with installing and updating vcpkg and its packages.
  • The ability to browse the available and installed packages.
  • Quick-fixes for missing packages.

To learn more about these features and the current limitations, read our blog post.

Attach to Process… improved

CLion lets you attach the debugger to processes that are started locally on your machine not from the IDE, while still benefiting from its debugger integration. For v2023.1, we’ve completely reworked the Attach to Process… dialog to make finding processes and attaching to them ever easier and faster:

New Attach to Process dialog

  • The dialog features a new table view used to search for processes. You can display all available processes as a list or a tree.
  • More information is now available for each process listed. In addition to the executable name and process ID, the view now shows the name of the user who launched the process, the debuggers available for this process, and the command used to launch the process.
  • The dialog lists local and WSL processes. The Remote and Docker toolchains are not yet supported.
  • You can select a debugger for toolchains that support multiple debuggers. The “Available Debuggers” column is useful when several debugger types are available, like Native and Python for Python processes.

We plan to continue to improve this dialog by adding more filtering capabilities, such as “Show only my processes”.

A new action to add C++20 modules

CLion provided initial support for C++20 modules in v2022.3. Now we’re adding a new action to help you create a new C++ Module Interface Unit to your project:
New C++20 module action

In the dialog that opens, enter the module name and type (extension), and specify whether you want CLion to add the newly created module to the existing CMake target. CLion will create a new module file using the file template from Settings/Preferences | Editor | File and Code Templates.

Updated Clang-Tidy checks settings dialog

Configuring Clang-Tidy checks options is now easier thanks to the updated settings dialog:

  • All options are now displayed with predefined default values.
  • If you change an option, it is highlighted in blue and moved to the top of the table.
  • Speed search is available: Simply put the table in focus and start typing the name of the check you’re looking for.

Clang-Tidy options

Filtering Call Tree results in the profiler

The Call Tree tab in the profiling results now allows you to collapse any frames you’re not interested in at the moment. For example, you can hide library classes or classes that come from specific frameworks, to help yourself focus on the application code.

You can expand the filtered calls by clicking the ↓ arrow in the tree, or just hover over it to preview the contents:

Profiler call tree

Go to Settings/Preferences | Build, Execution, Deployment | Dynamic Analysis Tools | Profilers to review and edit the list of patterns CLion uses to collapse the frames in the Call Tree:

Profiler settings

More flexible refactorings

Several C++ code refactorings have been updated in this EAP:

  • The Change Signature and Extract Function refactorings now support making a function const, constexpr, or noexcept.
  • The Extract Constant refactoring now suggests declaring a new constant with the constexpr and auto specifiers.

Other changes

  • In Docker integration, CLion now supports the user argument (-u) in the container settings.
  • Data Flow Analysis now works with pointer-to-function calls as expected and no longer shows incorrect warnings.

The full release notes are available here.


Your CLion team
The Drive to Develop

image description