CLion 2022.1.x

Released: Apr 14, 2022

Aggiornamenti in 2022.1.x

2022.1.3

Updated Jun 22, 2022

Fixes

  • The Rename refactoring has been fixed and is now applied to the correct code range.
  • CLion now checks for changes in the environment after every CMake reload. This way the IDE will suggest that you clean the CMake cache and reload CMake when CLion decides it’s necessary. For example, this happens when Xcode is updated.
  • VCS:
    • Ctrl+Click (On Windows and Linux) / Cmd+Click (on macOS) in the Git Log panel has been fixed and now works as expected.
    • Resolved the UI issue causing the truncated VCS in-editor menu.

2022.1.2

Updated Jun 1, 2022

Fixes

  • Unit Testing
    • Fixed integration with Catch2 v3.
  • C++ support
    • CLion now handles -Xclang arguments passed to the compiler correctly.
    • The Parameter Info pop-up now appears automatically after typing {.
    • The incorrect inlay hint with the C struct’s last member no longer appears before macros.
    • CLion no longer shows the incorrect Function is not implemented warning for outside class definitions of template member functions.
  • Performance
    • CLion no longer hangs with the Formatting with ClangFormat message.

2022.1.1

Updated May 13, 2022

Features

  • Project models
    • CLion can now report CMake build progress when Ninja generator is used.
    • Added Reset Cache and Reload Project action to the Repair IDE action list.
    • When using Ninja generator, CLion now uses the same default value for the -j flag (80% of available processors) as for Makefile generators.
  • Toolchains
    • When a Docker toolchain is created without configured servers, the auto-detected server is now preselected and the images are listed.
  • Debugger and RTOS integration
    • The settings in Debugger | Data Views | C/C++ | Variables are now applied immediately after being saved.
  • C++ language support
    • Improved accuracy of Endless loop inspection.
    • Added support for C++23’s 'if consteval'.
    • Improved Clangd-based navigation.

Fixes

  • Project models
    • Fixed the regression with incorrect loading of environment variables from files in Run/Debug configurations. This also means that the integration with Conan’s Virtualrunenv now operates normally.
    • Fixed the issue with build types not propagating to CMake commands in CLion when using --preset in CMake options.
    • Fixed the regression that was preventing Makefile intentions from running specific targets.
    • Fixed the regression that was preventing CLion from recognizing the Visual Studio 15 2017 Win64 CMake generator.
  • Toolchains
    • Fixed the regression on Windows that was causing paths to make executables and C and C++ compilers to be passed incorrectly when using remote toolchains.
  • Debugger and RTOS integration
    • Fixed an issue with the debugger that used to occur when setting a breakpoint before creating the first FreeRTOS thread.
    • The FreeRTOS view in the debugger now displays the full information in all cases.
  • C++ language support
    • Fixed a clangd crash.

2022.1

Updated Apr 14, 2022

Features

  • Remote Development
    • The new remote development workflow is now bundled into CLion and available from CLion’s Welcome screen.
    • Use a powerful remote machine to execute all IDE operations and to build, run, and debug code – all while running the IDE on a local thin client.
    • Cloud dev environments featured in Space can now be used with CLion to speed-up onboarding, get a ready-to-use IDE in seconds, and manage your development resources efficiently.
  • Docker
    • When working with the Docker toolchain, you can now provide additional container settings, such as port and volume bindings etc.
    • The Valgrind memcheck tool for detecting memory-usage problems now works with the Docker toolchain.
  • CMake
    • CMake Presets
      • CLion now automatically creates CMake Profiles for configure presets (previously only available for build presets). The change makes the configuration process easier and allows the removal of redundant build presets.
      • CLion now also works with the --preset argument passed to the cmake command. The data from the preset is loaded into build type, toolchain, and build directory settings.
    • CMake Profiles reloaded sequentially - When the parallel reload of CMake profiles is not possible, CLion can now reload them sequentially.
    • CMake Generators - CMake generators are now easier to configure in CLion with the new and updated options:
      • Use default – for new projects, this option now takes the build tool configured for the toolchain selected in the corresponding CMake Profile.
      • Let CMake decide – this option means CLion won’t be favoring any CMake generator explicitly, meaning that CMake will decide what generator to use.
    • CMake Profiling
      • In CLion, you can now visually inspect why it takes a long time to reload your CMake project.
      • Starting with CMake 3.18, the new tracing can be enabled in the CMake settings.
      • CLion will help you run the tracing and visualize the results.
    • CMake Formatting - CMake scripts are now formatted more accurately:
      • if() .. endif(), else() and elseif(), endforeach(), endfunction(), endmacro(), and endwhile() are now aligned correctly.
      • It is now possible to fold blocks for these commands.
      • Brace pairing and code block highlighting are now available for these commands as well.
  • Debugger
    • CUDA debugger - The CUDA-GDB debugger can now be used in CLion. Specify the cuda-gdb binary in the debugger setting of your current toolchain, and use add_compile_options(-G) compiler option to add CUDA debug symbols.
    • Debugger UI update - In the layout settings of the debugger tool window there are two new options available:
      • Separate Watches: enables you to use a separate tab with watches.
      • Show Tab Labels: enables you to use debugger tool window tab names.
    • Hex values in debugger - The option to show both decimal and hex values in the debugger now works for LLDB on Microsoft Windows.
  • Embedded Development
    • Embedded GDB Server:
      • The Embedded GDB Server configuration can now reset the device at different stages:
        • Before or after the download (i.e. flashing MCU ROM or writing to RAM).
        • Always (both before and after).
        • Or never.
      • Macros now work in Embedded GDB Server configuration fields.
    • FreeRTOS - The FreeRTOS GCC/Posix port is now supported and enables FreeRTOS debugging on Linux.
  • Code Analysis
    • Preview for intention actions - Intention action suggestions are now available via Alt+Enter (alternatively, click the bulb icon). In the suggestions list, you can now also see a preview of the result of the selected action. The preview is available for De Morgan's laws, invert if condition, merge if-else, merge nested if, Clang-Tidy, MISRA, Clazy, split into declaration and assignment, split into separate declarations, and a few other actions.
    • Updated Clang-Tidy and MISRA settings - Clang-Tidy and MISRA settings in Settings | Editor | Inspections | C/C++ | Static Analysis Tools have been reworked to make the checks configuration process easier. A new visual representation includes a tree with all the checks. Speed search helps you find the required checks quicker - just start typing the name you are looking for when the dialog is in focus. For Clang-Tidy, the dialog also links to LLVM documentation to help you learn about the checks in more detail.
    • More accurate code analysis - The accuracy of the code analysis engine in CLion has been improved.
  • Inlay Hints
    • Parameter and type hints in CLion are now more informative and accurate for modern C++ code.
    • CLion now displays a user-friendly wstring alias as a type hint for the std::basic_string<wchar_t> type.
    • CLion now displays an accurate type hint for dependent types.
    • This release added parameter info for struct literals and initializer list, as well as made parameter hints more informative for the emplace, emplace_back/emplace_front, and make_unique/make_shared functions.
    • Hints for array indices can now be disabled if you don’t need them.
  • Formatter
    • New formatter options for structured bindings have been added to Spaces and Wrapping and Braces sections.
  • UX improvements
    • Namespaces in the New C++ Class dialog - When creating a new C++ class, you can now specify the namespace where you’d like the new class to be located. You can write in any existing or nonexistent namespace (which will be created along with the new class), a nested namespace, or even an anonymous (unnamed) namespace if you enter a blank space in this field.
    • Grouping in the Structure view - In the Structure view, elements can now be grouped by the qualified name. Select between grouped view or plain view with a fully qualified name included in each element name.
  • Rust
    • A new stub project generator for Rust projects has been added which will help you even if you don’t have the Rust plugin installed. It will help you install the plugin and navigate you through project creation.
  • Other enhancements
    • In the Toolchains settings you can now configure any build tool to be used with a toolchain, such as Make, Ninja, or others.
    • For library files, CLion no longer shows the This file does not belong to any project target notification.

Fixes

  • Code Analysis
    • Condition is always false/true checks now work correctly with types and narrowing conversion.
    • CLion no longer marks fields as unused if they have non-trivial destructors.
  • Other enhancements
    • Incorrect Clang-Tidy results that used to occur when the WSL toolchain was used have been fixed by executing Clang-Tidy inside WSL itself.