CLion 2019.3 released, C / C ++ cross-platform integrated development environment

CLion 2019.3 has been released. The new version speeds up code completion rate, eliminate all UI freeze and the introduction of many other performance improvements. It also enhances the integration with CMake adds Ninja Builder support, and provides code coverage and WSL2 support. And, support for C ++ 20, including reconstruction, navigation and code completion.

IDE Performance

This version from the IntelliJ platform, introduces a number of important architectural changes to reduce the IDE startup time. These changes include, but are not limited to:

  • Parallelization have had some running process
  • To an initial load faster manner class restructuring
  • Optimized fonts loaded on macOS

In CLion regard, the team made a lot of efforts to eliminate the UI freeze. Although there are still some frozen (mainly some of the more complex C ++ project), but many other freeze has disappeared. In addition, the new version also modify some basic algorithms to optimize the "build / update the symbol" step.

Development team to improve performance by some of the core functions of the current redesigned IDE. First, the "Rename" refactoring (Rename refactoring) now has a model, it first asks if you want to rename non-code usage (for example, appear in the comments and string literals), then it searches all situations arise.

In addition, in order to speed up code completion rate CLion the new version implemented a program to provide extra code completion. It is based Clangd, in many common cases (e.g. LLVM, Boost, Qt or Eigen), as a result the production rate faster than other providers:

The debugger update

With this release, CLion integrated with the GDB debugger and LLDB together. LLDB bundled version has been updated to v9.0, and carried out a major clean-up in the pretty printers, you can now more accurately visualize standard containers.

For GDB and LLDB, CLion now supports reading .gdbinit / .lldbinit from the project root directory (previously, CLion can only read the files from the user's home directory).

Also, add a new Remote GDB Server configuration, which can enable remote debugging via ssh. Before adding the GDB remote debugging configuration main advantage is CLion executable files uploaded to the remote host, and automatically start the program in gdbserver the host.

CMake

This release resolves the two biggest drawback CLion in CMake integration. Ninja approach is to use a generator. Further, it may be used in any available CMake the generator. Just pass it to CMake CMake options in the configuration file settings:

The implementation based on CMake File API, can be used when using CMake version 3.15 or later.

One problem has been resolved is the lack of configuration features some CMake set for the project in the newly created global CLion. For example, certain template for generating path or environment settings. You can now use CMake Defaults to do this.

Another problem has been solved - if some CMake configuration is invalid and can not be reloaded, CLion now will not fail, but success will reload all possible valid configurations.

Switch between the Header / Source File

In order to switch between the header and source files, Clion now offers a more efficient, more accurate heuristic based on the operation, referred to as "go header / Source" (Go to Header / Source). It can be used instead of the more generic IntelliJ platform, "Go to related symbols" (Go to Related Symbol) operation.

C++ 20’s Concepts

Development teams are experimenting with language-based Clangd engine. The idea is to merge another branch clang experimental branch --Saar Raz and get Concepts support and build some unique features on top of it.

In CLion based on Clangd engine now correctly parse and can help highlight the concept of C ++ 20. There are some code checks from Clang, as well as the concept is not used to check the implementation of CLion team.

CLion 现在可以完成受约束的模板类型参数,以及受 std::is_base_of<MyBase, T>, std::is_same<Other, T> 和 same_as<T, U>约束的类型:

除此之外,还支持“重命名重构”,“转到定义”和“查找用法”导航操作。

更多更新内容见:

https://blog.jetbrains.com/clion/2019/11/clion-2019-3-release/

Guess you like

Origin www.oschina.net/news/111793/clion-2019-3-released