C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看
英文原文:What’s New in 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. 嵌入式開發
IAR 工具鏈
如果你在嵌入式項目中使用 IAR 編譯器 / 工具鏈,那現在,你在 CLion 中也可以這樣做了。收集編譯器信息不會再出現失敗,這意味著使用 IAR 工具鏈的項目將會成功加載,并在 CLion 中工作。
這有幾點事項要注意:
- MinGW 是必需的。
- 關于在 IAR Embedded Workbench 使用 CMake 的一些技巧。
PlatformIO
PlatformIO 是正在迅速普及的新一代生態系統。要在你的嵌入式項目里從中受益,請利用新的PlatformIO for CLion 插件,該插件具有以下新功能:
- 將 PlatformIO 項目類型添加到“New Project”(新建項目)向導中。
- 生成相應的基于 PlatformIO CMake 的項目。
- 自動創建用于調試和上載的配置。
- 允許使用片上 CLion 的 PIO Unified Debugger(統一調試器)進行調試。
還有更多新功能,請查看官方文檔了解更多細節。
2. CUDA 支持
代碼解析和代碼輔助
在 CUDA C 和 C++ 中的代碼,包括所有 CUDA 特定的擴展,現在可以正確地解析并高亮顯示了。這意味著代碼導航、軟件文檔和其他代碼輔助操作在 CUDA 代碼中都能正常工作。此外,CLion 還可以完成內核調用的尖括號。
讓我們從 GitHub 克隆ClaraGenomicsAnalysis項目,看看 CLion 在 CUDA 支持方面的能力。
新建項目向導
CLion 中的“New Project”(新建項目)向導已經更新,增加了創建 CUDA 項目的新選項:Library (庫) 或 Executable (可執行文件)。選中后,它將生成示例 CMakeLists.txt 和 main.cu 文件。
文件擴展名和 CMake 目標
在 “New C/C++ Source File”(新建 C/C++ 源文件)對話框中新增了 CUDA 文件擴展名的知識:.cu和 *.cuh*。這個對話框要更新的可能目標列表包括常規 CMake 和 CUDA 特定目標(使用cuda_add_executable和cuda_add_library命令創建)。
點此處了解更多信息。
3. Windows 環境下的開發
Clang-cl
我們現在已經可以在 Windows 上使用 CLion 中的 Clang-cl,支持 8.0 及以后的版本。
你能從 LLVM 網站或與 Visual Studio 工具一起安裝。安裝完成后,在 CLion 中選擇 Visual Studio 工具鏈,然后在工具鏈設置中指向clang-cl.exe。
Visual Studio C++ 工具鏈的調試器
JetBrains 為 Visual Studio C++ 工具鏈開發的基于 LLDB 的調試器,現在它已經是該工具鏈的默認調試器。因此你可以馬上開始使用。
注意,要啟用對本地可視化工具的捆綁支持,應該這樣開啟:Settings(設置)Build(構建)、Execution(執行)、Deployment(部署)Debugger Data Views(調試器數據視圖)Enable NatVis renderers for LLDB(啟用 LLDB 的 NatVis 渲染器)。
4. 運行和調試配置
遠程和嵌入式 GDB 的自定義目標
Remote GDB Server(遠程 GDB 服務器)和Embedded GDB Server(嵌入式 GDB 服務器) 配置現在可以使用自定義目標了。這些配置以前只適用于 CMake 目標,讓你能在遠程主機上調試應用程序,或者在本地機器上運行的 CLion 實例的微控制器上調試應用程序。
如果你已經創建了這些配置,CLion 2020.1 將在項目文件夾中的projectFilesBackup目錄中存儲以前的 Run/Debug Configuration(運行 / 調試配置)設置,并將就此通知你。
在運行 / 調試配置中支持宏和路徑變量
現在,你能在 CMake、Custom Build(自定義構建)和 Gradle Native Applications(Gradle 本地應用)配置中的 Program Arguments(程序參數)和 Working Directory(工作目錄)字段中使用 Path Variables(路徑變量)和宏了。宏可以幫助你獲取以下的值:
- 當前 CMake 運行配置的構建目錄。
- 當前 CMake 運行配置的生成目錄。
- 項目文件目錄。
- 還有許多其他。
FilePrompt/Prompt宏可以用來在運行 / 調試配置時顯示文件選擇對話框或字符串輸入對話框。
Path Variable(路徑變量)可以定義庫的路徑,該庫在項目中廣泛使用,但不在項目文件目錄之中。
輸入重定向
如果需要將輸入從文件重定向到應用程序的 STDIN(標準串流),現在可以這樣做了。在配置中使用名為Redirect input from的新字段。輸入:
- 相對路徑(CLion 將以 Working directory path(工作目錄路徑)為前綴)。
- 絕對路徑(將為遠程配置重新映射)。
- 或宏(如FilePrompt)。
5. Clang 工具
Clangd 上的數據流分析
CLion 的Data Flow Analysis(DFA,數據流分析)能完成編譯器通常不能做的事情:它分析數據如何流經代碼,并根據結果檢測潛在問題。它捕獲的條件始終為 false/true、無限循環、缺少 return 語句、無限遞歸等等。在 2020.1 版本中,DFA 已經轉移到基于 Clangd 的語言引擎上,在性能上變得更加精準,也更加輕便。盡管這項工作仍在進展之中,但已經取得了一些好成果!
僅限 Clangd 完成
默認情況下開啟了一種新的模式,在這種模式下,基于 Clangd 的語言引擎完全提供完整結果。這種模式解決了當多個引擎的代碼完成結果混合在一起時出現的優先級和排序問題。這種行為是由Settings(設置)Languages & Frameworks(語言和框架)C/C++Clangd中的Code Completion(代碼完成)設置控制的。
這個新模式因幾十種不同的修復和增強功能精準而強大。
點此處了解更多信息。
ClangFormat
現在,當你第一次在項目根目錄中使用.clang-format的配置文件打開項目時,CLion 將檢測到該項目并自動切換到 ClangFormat。
如果你在沒有.clang-format配置文件的項目上啟用了 ClangFormat,CLion 會建議你創建一個。
Clang-Tidy
當在項目中檢測到.clang-tidy配置文件時,CLion 現在會自動關閉 Clang-Tidy 的 IDE 設置的使用。這一行為是由Prefer.clang-tidy文件控制的,而不是通過 IDE 設置中的Settings(設置)Editor(編輯器)Inspections(檢查)C/C++General(通用)Clang-Tidy控制。
6. 代碼格式化器和代碼折疊
新的命名設置
結構成員字段和類成員字段現在有了單獨的命名設置。在Settings(設置)Editor(編輯器)Code Style(代碼風格)C/C++Naming Convention(命名約定)中查看。
代碼折疊
#pragma region和#pragma endregion可用于 CLion 的代碼折疊。
7. 重構更新
在調用Change Signature進行重構(Ctrl+F6)時,CLion 將會更新該函數的所有用法。Change Signature對話框中的一個新的Default value字段提供了指定要在所有用法中使用的參數值的功能。保持為空,以便像以前一樣使用默認值類型。
相同的邏輯和新的默認值字段應用于Create Parameter From Usage(根據使用情況創建參數)的快速解決和Add Parameter to Constructor(向構造函數中添加參數)的意圖。
8. 編輯器
快速文檔
Quick Documentation(快速文檔)——一種通用的工具,可以預覽文檔,并獲取有關函數簽名、推斷類型和宏替換的信息。它可以通過Settings(設置)Editor(編輯器)Code Editing(代碼編輯)中的“Show quick documentation on mouse move”(顯示鼠標移動的快速文檔)的設置進行控制。
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. 版本控制
新建提交工具窗口
更新后的工具窗口為修改后的文件列表和差異提供了更多的空間,還允許你在提交準備就緒時,將更改添加到提交中,迭代地編寫提交消息,并選擇將哪些分段更改進入哪個提交中。
新用戶默認啟用的是新的用戶界面;而現有用戶可以在Settings(設置)Version Control(版本控制)Commit(提交)中切換到新的用戶界面。
從此處以交互方式進行變基(rebase)提交
一個更新的、真正的交互式對話框使以下操作成為可能:
- 選擇要對分支中的每個提交執行的操作。
- 檢查顯示已應用哪些操作的圖表。
- 查看提交詳細信息。
- 查看差異,并在必要時檢查或重置更改。
從 IDE 中安裝 Git
Version Control(版本控制)工具窗口現在稱為 Git 工具窗口,或者 Subversion/Mercurial/Perforce(如果你使用這些窗口中任何一種而不是 Git 的話)。
你不再需要手動預裝 Git 了!當你使用 Git 打開一個項目或從 VCS 導入一個項目時,如果你的機器上沒有 Git 的話,CLion 會提供下載并安裝 Git。
10. Rust 插件更新
通過對 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(進入禪宗模式)。
總結
以上是生活随笔為你收集整理的C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何强制恢复出厂设置,如何强制重置设备为
- 下一篇: 如何与4s店的人谈价格,如何和4S店达成