CLion 2019.3 已正式發布。新版本加快了代碼完成速度,消除各種 UI 凍結並引入許多其他性能改進。它還增強了與 CMake 的集成,增加了 Ninja 生成器支持,並提供了代碼覆蓋範圍和 WSL2 支持。以及,對 C++ 20 的支持包括重構、導航和代碼完成。
此版本從 IntelliJ 平臺方面,引入了許多重要的體系結構更改,以減少 IDE 啟動時間。這些更改包括但不限於:
在 CLion 方面,團隊做出了不少努力來消除 UI 凍結。儘管仍然有一些凍結(主要是一些較複雜的 C++ 項目),但許多其他凍結已消失。此外,新版本還通過修改一些基礎算法來優化了「構建/更新符號」步驟。
開發團隊還通過重新設計 IDE 提供的一些當前核心功能來提高性能。首先,「重命名」重構(Rename refactoring)現在具有一種模式,它首先詢問是否要重命名非代碼用法(例如注釋和字符串文字中的出現),然後才搜索所有出現的情況。
另外,為了加快 CLion 中的代碼完成速度,新版本實施了一個額外的代碼完成提供程序。它基於 Clangd,在許多常見情況下(例如 LLVM,Boost,Qt 或 Eigen),其結果生成速度比其他提供商快:
此發行版中,CLion 與 GDB 和 LLDB 調試器集成在一起。LLDB 捆綁版本已更新為 v9.0,並在 pretty printers 中進行了重大清理,現在可以更精確地可視化標準容器。
對於 GDB 和 LLDB,CLion 現在都支持從項目根目錄讀取 .gdbinit/.lldbinit(以前,CLion 只能從用戶的主目錄讀取這些文件)。
此外,添加了新的 Remote GDB Server 配置,從而可以通過 ssh 啟用遠程調試。與之前添加的 GDB 遠程調試配置相比,主要優點是 CLion 將可執行文件上傳到遠程主機,並在該主機的 gdbserver 下自動啟動程序。
此版本解決了 CLion 中 CMake 集成的兩個最大缺點。一個方法是使用 Ninja 生成器。此外,現在可以在 CMake 中使用任何可用的生成器。只需將其傳遞給 CMake 配置文件設置中的 CMake 選項:
該實現基於 CMake File API,當使用 CMake 3.15 或更高版本時可用。
已解決的一個問題是缺少為 CLion 中新創建的項目全局配置某些 CMake 設置的功能。例如,用於生成路徑或某些環境設置的模板。現在可以使用 CMake Defaults 做到這一點。
另一個問題也得到解決——如果某些 CMake 配置無效並且無法重新加載,CLion 現在不會失敗,但是它將成功重新加載所有可能的有效配置。
為了在頭文件和源文件之間切換,CLion 現在提供了一種更有效、更準確的基於啟發式的操作,稱為「轉到頭文件/源」(Go to Header/Source)。可使用它代替更通用的 IntelliJ 平臺「轉到相關符號」(Go to Related Symbol)操作。
開發團隊正在試驗基於 Clangd 的語言引擎。這個想法是合併另一個實驗分支——Saar Raz 的 clang 分支並獲得 Concepts 支持,並在其之上構建一些獨特功能。
在 CLion 中,基於 Clangd 的引擎現在可以幫助正確解析和高亮 C++ 20 的概念。還有來自 Clang 的一些代碼檢查,以及 CLion 團隊實施的未使用概念檢查。
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/