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.
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.
- An improved Attach to Process dialog.
- A new action for adding C++20 modules.
- Updated Clang-Tidy checks settings.
- Filtering Call Tree results in the profiler.
- More flexible refactorings.
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.
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:
- 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:
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.
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:
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:
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
- The Extract Constant refactoring now suggests declaring a new constant with the
- 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
Subscribe to Blog updates
Thanks, we've got you!