CLion 2024.3

Released: Nov 20, 2024

2024.3 での更新項目

機能

Key Updates

  • CLion Nova
    • JetBrains' new, faster language engine, CLion Nova, is now the default for new users. In this release, JetBrains have implemented some of the most requested features and fixed a number of major bugs. Eventually, JetBrains plan to make CLion Nova the default engine for all users, both existing and new.
  • Memory usage improvements in CLion Nova
    • Many improvements in CLion Nova have helped reduce the engine’s memory usage, which is especially noticeable in large projects like Chromium. The IDE is now more responsive and faster to start up.
  • OpenCV image viewer
    • When you’re debugging code that contains a two-dimensional OpenCV array, the debugger now allows you to view it as an image in a separate dialog and use various editing options. This new feature makes developing computer vision and machine learning applications easier and more convenient.
  • Debug servers
    • JetBrains have added a new Debug Servers configuration option to make it easier to configure debugging for embedded and remote development. With a debug server, you can choose which debug probe you want to run or debug your build target on. Previously, you had to set up a separate run/debug configuration for each debug probe and build target combination.

CLion Nova

  • Memory usage improvements
    • JetBrains have made many improvements to CLion Nova in an effort to reduce its memory footprint. This is especially noticeable in large projects. Comparing the memory usage of a Chromium project in CLion Nova 2024.2 against the same project in 2024.3, in the new version, the IDE frontend uses 51% less memory, while the IDE backend uses 15% less.
    • For JetBrains users, this means:
      • The IDE is now more responsive because it uses less memory and calls the garbage collector less often.
      • The IDE is able to work faster and is more responsive to project changes.
  • Call hierarchy
    • The function call hierarchy shows caller and callee hierarchies and helps you better understand how your functions interact.
  • Predefined code styles from other projects and frameworks
    • You can now select a predefined code style like LLVM, Google, Qt, or GNU.
  • The gutter icon for recursive calls
    • JetBrains have added an icon for recursive calls to the gutter. This makes it easier to see where you are using recursive functions in your code and to avoid potentially harmful situations like stack overflows. The icon is also displayed in the call hierarchy.
  • Quick Definition support
    • The Quick Definition popup shows you where and how class, function, method, and other project symbols are defined.

Embedded development

  • Debug servers
    • JetBrains have added a new Debug Servers configuration option to streamline the process of configuring debugging for embedded and remote development.
    • Please note that this is an experimental feature.
  • Debugging support for West
    • In this release, JetBrains have extended support for Zephyr West by adding the ability to natively debug West projects. This makes it easy to configure and run debugging sessions in the IDE.
    • When you import your Zephyr West project, a West run/debug configuration is automatically created in the Run/Debug Configurations switcher. You can also create a new run/debug configuration via Run | Edit Configurations... in the main menu.
  • Editable peripheral register values
    • When debugging board peripherals like GPIO pins or timers, you can now immediately see the effects of your changes by editing peripheral registers in the Peripherals pane of the Debug tool window.
  • Support for MISRA C++:2023 with CLion Nova
    • MISRA C++:2023 is the latest edition of MISRA C++, which provides guidelines for using C++17 in safety-critical systems. CLion’s static analysis toolset now includes a significant number of MISRA C++:2023 checks.

Debugger

  • OpenCV image viewer
    • If you’re debugging a computer vision or ML application that uses OpenCV, you can now view a two-dimensional OpenCV array as an image. The debugger displays such images in a separate dialog and offers various editing options and features like updating the image on stepping.
  • Formatted view for strings with JSON, XML, or HTML data
    • When debugging strings that store newline characters or JSON, XML, and HTML data, you can view them formatted according to their code style directly in the debugger. Press View next to a variable, and you'll be able to see the structured or raw data in a separate window.
  • Ability to attach the debugger to an unstarted process
    • You can now attach the debugger to unstarted local processes. These will then automatically trigger debugging when they are started. This feature is helpful when, for example, one part of your project is written in C++ and runs in CLion, while another is written in another language and runs in an external environment.
  • Bundle updates
    • JetBrains have updated the following bundled debuggers:
      • GDB has been updated to 15.2.
      • LLDB has been updated to 19.1.3.

AI Assistant

  • The updated JetBrains AI Assistant plugin, equipped with JetBrains internally trained large language model for C++, has made CLion’s cloud code completion faster and smarter. It now offers a broader range of usage scenarios, with enhanced suffix matching ensuring that the predicted code fragment correctly completes the existing code.
  • One of the most prominent improvements is multiline code completion, which has been updated with syntax highlighting and incremental acceptance of code suggestions.
  • Multiline code completion works in conjunction with standard code completion and Full Line Code Completion (the latter uses the local LLM and doesn’t require sending data to the cloud). This allows you to review and accept suggestions gradually.

Other improvements

  • Onboarding tips for a new C++ project
    • If you’re just starting with CLion, you’ll notice the improved onboarding tips. They show you how to use some of the IDE’s key features and give you a clearer picture of its capabilities right from the start. This reduces the time it takes to become a proficient user of CLion.
  • Project status widget
    • JetBrains have made project status notifications less distracting by moving them from the top of the editor to a new widget in the status bar. Now, if you create a new .cpp file in your project, for example, the icon will appear. The notification that your file doesn’t belong to any project won’t appear until you hover over the icon. When you click on the icon, the widget will offer to add the file to the CMake project. If you don’t need it, you can close the popup, leaving only the icon in the status bar.
  • Updated UI for the new terminal
    • A more compact design has been implemented in the new terminal’s interface, reducing padding to maximize screen space. This also improves visibility when working with commands without compromising readability.
  • Highlighting occurrences of selected text
    • By default, CLion now highlights all instances of the text you’ve selected in any file, not just .c and .cpp. This makes it easier to keep track of where your selected text appears in the file.