CLion 2022.2

CMake 통합을 개선하고 정적 및 동적 코드 분석을 향상시킵니다.
7월 28, 2022
신규 버전

기능

  • CMake integration
    • Quick Documentation in CMake - The Quick Documentation popup is now available in CMake scripts. The documentation is shown for the standard CMake entities:
      • Commands.
      • Policies.
      • Modules.
      • Variables.
      • Properties.
      • Documentation is always rendered for the currently bundled CMake version and is not available for the user-defined entities for now.
    • Qt-related command completion - While editing CMake files in CLion, you can use auto-completion for CMake commands and variables with static names. In this release, Qt-related commands have been added to completion lists.
    • CMake Cache viewer and options editor - In this release, you can now review CMake cache variables and update CMake options that are passed to the CMake command in a single table-based UI in Settings | Build, Execution, Deployment | CMake. When the table is in focus, start typing to search for a variable or its value. CLion also shows the short description in tooltips for CMake cache variables.
    • CMake presets - When auto-creating CLion profiles for all the configure and build presets, CLion now uses a new naming scheme for the CMake profiles created in CLion:
      • Configure presets are imported with the name configure-preset-name.
      • Build presets are imported as a configure-preset-name - build-preset-name combination.
      • A copy action for profiles created from presets has also been enabled.
    • Colorized Ninja output - Colorized compiler output helps users deal with compilation errors much faster. CLion adds a way to enable colorized output for the Ninja generator in CMake by default. Note: CLion bundles CMake v3.23 for now. To get the colorized output, you need to get CMake 3.24 and use it in the CLion toolchain.
  • Code documentation
    • Values of constant expressions - When reading through the code base, you often want to check the value of constant expressions. CLion now shows the value of the expressions evaluated at compile time in the Quick Documentation popup. This works for consteval, constexpr, or template instantiations, just to name a few examples.
    • Enum values - Added the ability to see the enum value as an integer in the Quick Documentation popup.
    • Copyable and movable - It can be useful to see whether a given struct or class declaration supports copy and move operations, so CLion now shows this information in the Quick Documentation popup.
    • Embedded development - GDB servers are often used to debug on-chip. A new wizard helps with creating Embedded GDB Server run configurations with the predefined GDB server arguments corresponding to the GDB server type selected in the wizard settings. The supported types are:
      • Segger JLink.
      • QEMU emulator.
      • PyOCD.
      • St-util.
      • STM32CubeIDE ST-LINK GDB server.
      • PE Micro (OpenSDA).
  • Static analysis
    • Interval analysis - CLion’s data flow analysis now calculates the upper and lower bounds of the possible values for every integral variable. This provides extra information for checks like Unreachable code, Constant conditions, and others. On top of this interval analysis, the Array index is out of bounds check is built. It reports variables that access an array or allocated buffer via the index which may be out of bounds.
    • A new Clang-Tidy widget - If you prefer Clang-Tidy configuration files over IDE settings, select this option in Settings | Editor | Inspections | C/C++ | Static Analysis Tools | Clang-Tidy. In this case, a new widget will appear in the bottom right-hand corner of the editor:
      • If there is no file with settings, the widget will help you create one.
      • If you’d like to know what exact Clang-Tidy configuration CLion is using to analyze the current file, you can open it via the new widget.
    • Highlighting configuration - The inspection settings in Settings | Editor | Inspections now visualize the highlighting style. When you want to change how an inspection appears in the editor, you can set it up using the new Highlighting in editor drop-down menu, which conveniently shows all available highlighting styles.
  • Dynamic analysis
    • Valgrind Memcheck is a tool integrated into CLion for detecting memory usage problems. In this release, the way configuration issues are reported has been improved. CLion now notifies you when Valgrind Memcheck is launched for the release configuration and the debug information is missing for the executable as a result.
  • Debugger
    • Symbol servers on Microsoft Windows - When debugging, sometimes the library symbols are not available on your local machine. In this case, you can use a symbol server, a file server that stores your debug symbols centrally on a server rather than on each developer’s machine. In CLion on Windows, you can now configure symbol servers for the debugger in Settings | Build, Execution, Deployment | Debugger | Symbol Servers.
    • Bundled GDB and LLDB - This release now bundles GDB v12.1 and LLDB v14.
  • Remote Development
    • When using remote development with local sources, the initial synchronization step might take quite some time. With this release, CLion now uses rsync to synchronize your deployment configuration.
  • Docker
    • Performance improvement - To improve the performance of compiler information collection for the Docker toolchain, CLion now uses Docker exec instead of run.
    • Environment - Usually toolchains in Docker images have an environment file located inside the image. CLion now correctly picks the file from inside the container.
  • Rust plugin updates
    • IntelliJ Rust now takes #![recursion_limit] into account, which controls the macro expansion depth. If you don’t need macros to expand fully, you can adjust the Maximum recursion limit for macro expansion setting.
    • A new approach to detecting changes in configuration files, as well as a new way to reload project models has been enabled.
    • Other IntelliJ Rust plugin improvements:
      • The plugin can now convert JSON to Rust structs via copy-paste.
      • Added inspections and quick-fixes for unused_must_use and clippy::double_must_use lints.
      • The plugin now parses generic parameters, type aliases, and type bindings of generic associated types.
      • If the Emulate terminal in output console option is enabled, the proper terminal is now used.
      • Implemented some improvements for type inference, including unsized coercion.
      • URLs are now highlighted and you can open them in a browser.
  • Space integration
    • Space integration is now bundled with CLion. With this, you can browse Space projects and clone repositories, then start working on them directly. When your changes are ready, you can create a merge request and perform a code review from within the IDE.
  • Other enhancements
    • Improved support for CUDA development - CUDA compilation database projects are now supported in CLion. And the CUDA-gdb debugger integration has been fixed to allow you to step out from CUDA calls correctly.
    • This release enables system header indexing for the Microsoft Visual C++ toolchain. This makes auto-import work for such headers.
Quick Documentation in CMake

CLion

C 및 C++를 위한 크로스 플랫폼 IDE.

CLion 도 구매할 수 있습니다:

궁금한 점이 있으세요?

JetBrains 사 제품 라이선스 담당자와 라이브 채팅