CLion 2023.1

Integriert Paketverwaltungsfunktionen und verbessert die QML-Codierung.
März 30, 2023
Neue Version

Funktionen

Key updates

  • Debugger update:
    • The ability to explore the underlying assembly code even when the source code is available (aka disassemble on demand).
    • A reworked Attach to Process... dialog to make finding processes and attaching to them even easier and faster.
    • Actions to suspend or resume individual threads, to help debug multi-threaded applications.
  • Integration with vcpkg - CLion now assists with installing and updating vcpkg and its packages and browsing installed and available packages in the dedicated tool window. CLion helps with the missing dependencies by suggesting quick-fixes when you:
    • Add #include for the header file from a package that is not yet installed.
    • Use a package in a CMake script that is not yet installed.
  • Clangd-based indexer (Experimental) - To speed up the Find Usages action and make it produce more accurate results in C++ code, a brand-new Clangd indexer has been introduced in CLion.
  • New UI (Beta) - The new UI has less visual clutter and shows the starting points for powerful features more concisely. In this release, the user experience of the new UI has been fine-tuned by redesigning the Run widget, adding an option to show hidden tabs and an option to split tool windows vertically, bringing a new Compact Mode for smaller screens and other changes.

Debugger enhancements

  • Disassemble on demand - CLion debugger allows you to step into and debug the disassembled code in a dedicated view. Now even when the source code is available. In the context menu in the frames view, there is now a new action that opens a regular disassembly view for the selected frame. The view opens side-by-side with the source code and highlights the execution line in both.
  • Attaching to processes in debug - CLion provides a way to attach the debugger to local processes started outside the IDE. The updated Attach to Process... action's dialog now makes finding processes and attaching to them even easier and faster. Display all available processes as a list or a tree in a new table view, check out the name of the user who launched the process, the debuggers available for this process, and the command used to launch the process, and select a debugger for toolchains that support multiple debuggers.
  • Suspend or resume individual threads - When debugging a multi-threaded application, you can now step through the selected thread with all other threads suspended.
    • All 4 actions are available with LLDB.
    • For GDB, only Freeze Other Threads and Unfreeze All Threads work. These actions also are not supported on Microsoft Windows for GDB.

Memory View

  • Highlighting the changes - CLion now highlights all changed bytes in the memory view during debugging. Also, when scrolling through the memory view, CLion now automatically loads the data.
  • Configurable view - The number of columns in the Memory View (i.e., the number of bytes per line) is now configurable.

C++ language support

  • Adding a new C++20 module - Added an action to help you create a new C++ Module Interface Unit in your project.
  • More flexible refactorings - 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.

Easier Clang-Tidy configuration

  • This release comes with an updated Clang-Tidy checks options 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.

Support for QML

  • QML syntax support - If you are using Qt Modeling Language (QML) in your code, you will now benefit from the QML syntax support in CLion. This includes:
    • A better editing experience with code highlighting and code completion.
    • Instant search for usages.
    • Structure View for easier navigation in QML files.
    • The Quick Documentation popup for information about the symbols under the caret.
  • QML formatter and other settings - QML syntax support in CLion now works for both Qt5 and Qt6. CLion uses qmlformat to format QML code by default. Qt and QML paths, qmlformat as a formatting tool, and QML language server can be configured in Settings/Preferences | Languages & Frameworks | QML.

Filtering abilities in Profiling and Coverage

  • 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. For example, you can hide library classes or classes from specific frameworks to help yourself focus on the application code.
  • Filtering code coverage results - You can now filter files in the Coverage view to focus on recently updated files when testing. By default, you'll see a list of files with uncommitted changes.

Terminal in the output console

  • CLion now emulates the terminal in the output console - This behavior is enabled by default in Settings/Preferences | Advanced Settings | Run/Debug | Emulate terminal in the output console and helps you work with text-based user interfaces (TUI), for example, curses/ncurses applications.

CMake enhancements

  • CMake color settings - New color settings have been added for CMake - one for script keywords and one for CMake argument keywords.
  • CMake changes notification - The CMake reload notification is now floating. It takes less editor space while still being noticeable.

New UI (Beta)

  • Compact mode - To improve the user experience on smaller screens, Compact Mode has been introduced. This provides a more consolidated look and feel of the IDE thanks to scaled-down spacing and elements.
  • Hidden toolbar in Zen and Distraction Free modes - Refined the IDE's look and feel when the new UI is enabled. The top toolbar is no longer visible in Zen and Distraction Free modes.
  • New Dark theme - This release features a new Dark theme activated by default when the user enables the new UI. The "Old" Dark theme has been renamed to Darcula Contrast.
  • Run widget - The Run widget in the main window header has been redesigned so that its appearance is unobtrusive and easier on the eyes.
  • Show hidden tabs in the new UI - Users of the new UI can now see the full list of open editor tabs. It's accessible via the Show Hidden Tabs selector located at the right-end of the tabs row.
  • Splitting tool windows - The new UI now offers an option to vertically split the tool window area and conveniently arrange these windows, just like in the old UI.

User Experience

  • Full IDE zoom - You can now zoom into and out of CLion entirely, increasing or decreasing the size of all UI elements simultaneously. You can also assign custom shortcuts for calling these actions.
  • Multiple tool window layouts - With this release, you can now save and manage several tool window layouts and switch between them when needed. With the new Window | Layouts menu, you can save the current layout as a new one, update the already saved layout, or activate a previously saved layout.
  • Remember size for tool windows - A new layout option allows you to unify the width of the side tool windows or retain the ability to freely adjust their sizes as you customize your layout.
  • Actions on save - You can now predefine the behavior of Actions on Save for new projects.

Editor

  • Location of pasted content - There is now a setting that allows you to control the placement of the pasted content. In Settings/Preferences | Advanced Settings, find the Editor section and select the desired behavior for the Paste action from the drop-down list.
  • Showing whitespaces - This release features a new Selection checkbox in Settings/Preferences | Editor | General | Appearance | Show Whitespaces that allows you to configure this setting so that the IDE shows whitespaces as small dots only when you select code.

VCS

  • VCS status in Structure View - To make tracking changes to files more convenient, color hints have been added to the Structure tool window. The names of modified objects will now become blue, and the names of the newly added objects will appear in the tool window highlighted in green.
  • Enhancements for branches - This release provides auto-completion in the Create New Branch popup. Once you start typing a name for your new branch, the IDE will suggest relevant prefixes based on the names of existing local branches. In the Branches popup, branches are now grouped and stored in expandable lists for easier navigation.
  • Improved code review workflow for GitHub - Fine-tuned the process of reviewing code inside the IDE by reworking the Pull Request tool window. It now features a dedicated tab for each pull request you open. The tab instantly displays the list of changed files but now provides less information than before, allowing you to better focus on the current task. There is also a dedicated button to easily execute the action that's considered the most important given the pull request's current state.

Markdown

  • Reformat table - A new intention action allows you to correct the formatting of tables in Markdown files. You can access the quick-fix via the Context actions shortcut (Alt+Enter) or by pressing the yellow bulb icon and selecting Reformat table from the list that appears.
  • Fill Paragraph - The Fill Paragraph editor action is now supported for Markdown files, allowing you to break long texts into several lines of even length.

Rust plugin update

  • As a part of continuous improving macro support, the IntelliJ Rust plugin now shows inlay type hints in function-like and attribute macro calls. Besides inlay hints, the plugin started highlighting errors inside attribute macro calls.
  • The new version of the plugin provides a way to exclude some specific items from auto-import. The most annoying cases, like methods from Borrow and BorrowMut traits from stdlib, are already excluded by this mechanism by default.
  • Starting from this release, the plugin shows content behind any struct reference and pointer during debugging, as well as the content of raw slice pointers.
Integration with vcpkg package manager

CLion

Eine plattformübergreifende IDE für C und C++.

CLion ist auch verfügbar in:

Sie haben eine Frage?

Live-Chat mit unseren JetBrains-Lizenzierungs-Spezialisten.