C/C++ 開發工具: 發佈新版CLion,有哪些新功能?

距上次更新 1 年後,Jetbrains 旗下的 C/C++ 開發工具 CLion 迎來新版——CLion 2020.1 。

據官方介紹,CLion 2020.1 針對許多 IDE 功能帶來諸多改進,比如語言支持、 the debugger(調試器)、the formatter(格式化器)和 refactorings(重構)等。

“除 Windows 開發人員,嵌入式和 CUDA 項目的開發人員也能體會到 CLion 為他們帶來的好處。”Jetbrains 寫道。

CLion(30 天免費試用版)的下載地址。

1. 嵌入式開發


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


IAR 工具鏈

如果你在嵌入式項目中使用 IAR 編譯器 / 工具鏈,那現在,你在 CLion 中也可以這樣做了。收集編譯器信息不會再出現失敗,這意味著使用 IAR 工具鏈的項目將會成功加載,並在 CLion 中運行。

這有幾點事項要注意:

  • MinGW 是必需的。
  • 關於在 IAR Embedded Workbench 使用 CMake 的一些技巧。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


PlatformIO

PlatformIO 是正在迅速普及的新一代生態系統。要在你的嵌入式項目裡從中受益,請利用新的 PlatformIO for CLion 插件,該插件具有以下新功能:

  • 將 PlatformIO 項目類型添加到“New Project”(新建項目)嚮導中。
  • 生成基於 CMake 的相應 PlatformIO 項目。
  • 自動創建用於調試和上載的配置。
  • 允許在線通過 PIO Unified Debugger(統一調試器)在 CLion 中進行調試。

還有更多新功能,請查看官方文檔瞭解更多細節。

2.CUDA 支持


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


代碼解析和代碼輔助

在 CUDA C 和 C++ 中的代碼,包括所有 CUDA 特定的擴展,現在可以正確地解析並高亮顯示了。這意味著代碼導航、軟件文檔和其他代碼輔助操作在 CUDA 代碼中都能正常工作。此外,CLion 還可以完成內核調用的尖括號。

讓我們從 GitHub 克隆 ClaraGenomicsAnalysis 項目,看看 CLion 在 CUDA 支持方面的能力。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


新建項目嚮導

CLion 中的“New Project”(新建項目)嚮導已經更新,增加了創建 CUDA 項目的新選項:Library (庫) 或 Executable (可執行文件)。選中該選項後,它將生成示例 CMakeLists.txt 和 main.cu 文件。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


文件擴展名和 CMake 目標

在 “New C/C++ Source File”(新建 C/C++ 源文件)對話框中新增了 CUDA 文件擴展名的支持:.cu 和 .cuh。這個對話框要更新的可能目標列表包括常規 CMake 和 CUDA 特定目標(使用 cuda_add_executable 和 cuda_add_library 命令創建)。

點此處瞭解更多信息。

3.Windows 環境下的開發


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


Clang-cl

我們現在已經可以在 Windows 上使用 CLion 中的 Clang-cl,支持 8.0 及以後的版本。

你能從 LLVM 網站或與 Visual Studio 工具一起安裝。安裝完成後,在 CLion 中選擇 Visual Studio 工具鏈,然後在工具鏈設置中指向 clang-cl.exe。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


Visual Studio C++ 工具鏈的調試器

JetBrains 為 Visual Studio C++ 工具鏈開發的基於 LLDB 的調試器,現在它已經是該工具鏈的默認調試器。因此你可以馬上開始使用。

注意,要明確啟用對原生可視化工具的捆綁支持,應該這樣開啟:Settings(設置)| Build(構建)、Execution(執行)、Deployment(部署)| Debugger Data Views(調試器數據視圖)| Enable NatVis renderers for LLDB(啟用 LLDB 的 NatVis 渲染器)。

4. 運行和調試配置


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


遠程和嵌入式 GDB 的自定義目標

Remote GDB Server(遠程 GDB 服務器)和 Embedded GDB Server (嵌入式 GDB 服務器) 配置現在可用於自定義目標了。這些配置以前只適用於 CMake 目標,讓你能從本地計算機上運行的 CLion 實例中調試遠程主機或微控制器上的應用程序。

如果你已經創建了這些配置,CLion 2020.1 將在項目文件夾中的 projectFilesBackup 目錄中存儲以前的 Run/Debug Configuration(運行 / 調試配置)設置,並將就此通知你。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


支持在運行 / 調試配置中使用宏和路徑變量

現在,你能在 CMake、Custom Build(自定義構建)和 Gradle Native Applications(Gradle 本地應用)配置中的 Program Arguments(程序參數)和 Working Directory(工作目錄)字段中使用 Path Variables(路徑變量)和宏了。宏可以幫助你獲取以下對象的值:

  • 當前 CMake 運行配置的構建目錄。
  • 當前 CMake 運行配置的生成目錄。
  • 項目文件目錄。
  • 還有許多其他。

FilePrompt/Prompt 宏可以用來在運行 / 調試配置時顯示文件選擇對話框或字符串輸入對話框。

Path Variable(路徑變量)可以定義庫的路徑,該庫在項目中廣泛使用,但不在項目文件目錄之中。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


輸入重定向

如果需要將輸入從文件中定向到應用程序的 STDIN,現在可以這樣做了。在配置中使用名為 Redirect input from 的新字段。輸入:

  • 相對路徑(CLion 將以 Working directory path(工作目錄路徑)為前綴)。
  • 絕對路徑(將為遠程配置重新映射)。
  • 或宏(如 FilePrompt)。

5.Clang 工具


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


Clangd 上的數據流分析

CLion 的 Data Flow Analysis (DFA,數據流分析)能完成編譯器通常不能做的事情:它分析數據如何流經代碼,並根據結果檢測潛在問題。它可以捕獲始終為 false/true 的條件、無限循環、缺失的返回聲明、無限遞歸,等等。在 2020.1 版本中,DFA 已經轉移到基於 Clangd 的語言引擎上,在性能上變得更加準確,也更加精簡。儘管這項工作仍在進展之中,但已經取得了一些好成果!


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


僅靠 Clangd 即可實現代碼補全

默認情況下開啟了一種新的模式,在這種模式下,基於 Clangd 的語言引擎完全提供完整結果。這種模式解決了當多個引擎的代碼完成結果混合在一起時出現的優先級和排序問題。這種行為是由 Settings(設置)|Languages & Frameworks(語言和框架)|C/C++|Clangd 中的 Code Completion(代碼完成)設置控制的。

這個新模式因幾十種不同的修復和增強功能更準確、更強大。

點此處瞭解更多信息。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


ClangFormat

現在,當你第一次打開項目根目錄中包含 .clang-format 的配置文件的項目時,CLion 將檢測到該項目並自動切換到 ClangFormat。

如果你在沒有 .clang-format 配置文件的項目上啟用了 ClangFormat,CLion 會建議為你創建一個。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?

Clang-Tidy

當在項目中檢測到 .clang-tidy 配置文件時,CLion 現在會自動關閉 Clang-Tidy 的 IDE 設置的使用。這一行為是由 Prefer.clang-tidy 文件控制的,而不是通過 IDE 設置中的 Settings(設置)|Editor(編輯器)|Inspections(檢查)|C/C++|General(通用)|Clang-Tidy 控制。

6. 代碼格式化器和代碼摺疊


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


新的命名設置

結構成員字段和類成員字段現在有了單獨的命名設置。在 Settings(設置)|Editor(編輯器)|Code Style(代碼風格)|C/C++|Naming Convention (命名約定)中查看。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


代碼摺疊

#pragma region 和 #pragma endregion 可用於 CLion 的代碼摺疊。

7. 重構更新


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


在調用 Change Signature 進行重構(Ctrl+F6)時,CLion 將會更新該函數的所有用法。Change Signature 對話框中的一個新的 Default value 字段提供了指定要在所有用法中使用的參數值的功能。保持為空,以便像以前一樣使用默認值類型。

相同的邏輯和新的 Default value (默認值)字段應用於 Create Parameter From Usage(根據使用情況創建參數)的快速解決和 Add Parameter to Constructor(向構造函數中添加參數)的意圖。

8. 編輯器


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


快速文檔

Quick Documentation(快速文檔)——一種通用的工具,可以預覽文檔,並獲取有關函數簽名、推斷類型和宏替換的信息。它可以通過 Settings(設置)|Editor(編輯器)|Code Editing(代碼編輯)中的“Show quick documentation on mouse move”(鼠標懸停顯示快速文檔)的設置進行控制。


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


JetBrains Mono 和 IntelliJ Light

編輯器中的默認字體已更改為 JetBrains Mono ,這是 JetBrains 創建的一種新的開源字體。它的設計是為了讓閱讀代碼更容易。

IntelliJ Light,一種新的默認 light 主題,現在是所有不同操作系統的標準主題。如果你想選擇一個非默認的主題,請使用 View(視圖)|Quick Switch Scheme(快速切換組合)|Theme to select a non-default theme(選擇非默認主題的主題)來選擇非默認主題。

拆分終端會話

使用 CLion 2020.1,你可以垂直或水平拆分終端會話,這樣就可以並排運行這些終端會話。你可以從終端調用上下文菜單來創建、導航和關閉拆分的終端會話。

9. 版本控制


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


新建提交工具窗口

更新後的工具窗口為修改後的文件列表和差異提供了更多的空間,還允許你在提交準備就緒時,將更改添加到提交中,迭代地編寫提交消息,並選擇將哪些分段更改進入哪個提交中。

新用戶默認啟用的是新的用戶界面;而現有用戶可以在 Settings(設置)|Version Control(版本控制)|Commit(提交)中切換到新的用戶界面。

從此處以交互方式進行變基(rebase)提交

一個更新的、真正的交互式對話框使以下操作成為可能:

  • 選擇要對分支中的每個提交執行的操作。
  • 檢查顯示已應用哪些操作的圖表。
  • 查看提交詳細信息。
  • 查看差異列表,並在必要時檢查或重置更改。

從 IDE 中安裝 Git

Version Control(版本控制)工具窗口現在稱為 Git 工具窗口,或者 Subversion/Mercurial/Perforce(如果你使用這些窗口中任何一種而不是 Git 的話)。

你不再需要手動預裝 Git 了!當你使用 Git 打開一個項目或從 VCS 導入一個項目時,如果你的機器上沒有 Git 的話,CLion 會提供下載並安裝 Git。

10.Rust 插件更新


C/C++ 開發工具:  發佈新版CLion,有哪些新功能?


通過對 LLDB 支持的改進, IntelliJ Rust 現在可以正確地渲染枚舉類型和原始類型(primitive types),它還可以在調用堆棧中顯示符號重組(demangle)的函數名。

該插件的另一個主要更新是 REPL 集成。從 Tools(工具)|Rust REPL調用控制檯,並將其用於原型設計和逐行檢查代碼。該集成提供了語法高亮顯示和代碼完成功能,以及一些方面的控制檯操作:命令歷史記錄、軟換行、快速滾動到末尾等等。

在語言支持方面,IntelliJ Rust 現在可以處理類型別名的 impl 塊。考慮到性能,我們只對別名數量有限的類型啟用了這個功能。

其他增強功能還包括高亮顯示未使用的本地變量、cfg 屬性注重中的修復以及新的 Lift 返回檢查。

其他改進

  • 現在,所有遠程配置都可以使用通用和統一的 SSH Configurations(SSH 配置)用戶界面了。無論新的 SSH 配置文件源自何處(遠程工具鏈設置或遠程 GDB 服務器配置),它都會在 Settings(設置)|Tools(工具)|SSH Configurations(SSH 配置) 有一個條目。
  • 如果你只想專注於源代碼,你可以選擇一種新的 Zen(禪宗)模式,它將無干擾模式與全屏模式結合在一起。要啟用這個模式,請使用 View(視圖)|Appearance(外觀)|Enter Zen Mode(進入禪宗模式)。

學習更多:點擊下方 瞭解更多


分享到:


相關文章: