CLion是一款專為開發(fā)C及C++所設(shè)計的跨平臺IDE。它是以IntelliJ為基礎(chǔ)設(shè)計的,包含了許多智能功能來提高開發(fā)人員的生產(chǎn)力。這種強大的IDE幫助開發(fā)人員在Linux、OS X和Windows上來開發(fā)C/C++,同時它還使用智能編輯器來提高代碼質(zhì)量、自動代碼重構(gòu)并且深度整合CMake編譯系統(tǒng),從而提高開發(fā)人員的工作效率。
點擊下載CLion v2021.3最新版
近日,CLion發(fā)布v2021.3最新版!提供新的遠程開發(fā)、調(diào)試器中更好的數(shù)據(jù)視圖、Docker 工具鏈、自定義編譯器、類型提示等下面請看詳情:
新的遠程開發(fā)功能的 Beta 版
到目前為止,CLion 中的遠程開發(fā)主要是在遠程主機上運行項目構(gòu)建,使用遠程主機編譯器和 CMake/make,使用遠程主機調(diào)試器進行調(diào)試,以及在遠程目標上運行應(yīng)用程序。在此設(shè)置中,CLion 本身在本地運行,您的源文件也存儲在本地客戶端上,并自動同步到遠程主機。
但是,這種方法有幾個缺點:
-
并非總是可以(出于安全原因或其他原因)將源代碼存儲在本地機器上,在這種情況下,代碼只能在遠程機器上定位和使用。
-
CLion 操作(例如索引)可能非常繁重,因此如果本地計算機是瘦客戶端,則會出現(xiàn)嚴重的性能問題。
現(xiàn)在有令人興奮的消息要分享——CLion 現(xiàn)在為新的遠程開發(fā)工作流程提供了期待已久的支持!
主要思想是使用功能強大的遠程機器來執(zhí)行所有 IDE 操作并構(gòu)建、運行和調(diào)試代碼——同時在瘦本地客戶端上運行 IDE。遠程主機是托管源代碼并運行無頭 CLion 以執(zhí)行大部分 IDE 功能的物理或虛擬機。開發(fā)人員使用本地瘦客戶端(即物理機,如筆記本電腦)連接到服務(wù)器,并使用此瘦客戶端進行開發(fā)。我們希望此設(shè)置可以幫助您保持更高的工作效率和靈活性,同時讓您可以隨時隨地安全地工作。
在以下部分中,將解釋JetBrains Gateway以及 CLion 中新的遠程開發(fā)工作流的一些已知限制。
JetBrains 網(wǎng)關(guān)
JetBrains Gateway是我們的新應(yīng)用程序,可作為所有遠程后端的入口點。它在客戶端上運行,可以被認為是一個輕量級的啟動器。它將遠程服務(wù)器連接到您的本地計算機,在后端下載必要的組件,并在 JetBrains 客戶端中打開您的項目。它不需要您在本地計算機上安裝 IDE。您可以從 Toolbox 應(yīng)用程序或 JetBrains 網(wǎng)站獲取最新版本的 JetBrains Gateway。

使用 JetBrains Gateway 作為獨立啟動器或作為來自 CLion 的入口點以連接到遠程服務(wù)器。
請務(wù)必注意,截至目前,您無法從 CLion 啟動遠程開發(fā)會話,但您可以通過 JetBrains Gateway 執(zhí)行此操作。
已知限制
這個新的遠程開發(fā)工作流程中的遠程主機目前仍然只支持 Linux。確保您在 Linux 平臺上擁有兼容的 SSH 服務(wù)器。Linux 平臺應(yīng)該有任何最新的 Linux 發(fā)行版,例如 Ubuntu 16.04+、RHEL/Centos 7+ 等。
在 CLion 中新的遠程開發(fā)工作流中,代碼編輯、代碼分析、導航、運行/構(gòu)建/調(diào)試代碼和單元測試通??梢怨ぷ?。這里有一些 CLion 特定的事情需要注意:
-
僅支持 CMake 項目;Makefile 和 Compilation 數(shù)據(jù)庫項目即將推出。
-
使用 root 權(quán)限處理提升和運行/調(diào)試不起作用 ( CWM-4091 )。
-
CLion 特定的調(diào)試器功能(內(nèi)存視圖、Disasm)未顯示在客戶端計算機上 ( CWM-507 )。
-
支持 C/C++、Objective-C/C++、Python、JavaScript 和 HTML 語言。Swift 和 Rust 在此模式下尚不可用。
-
代碼覆蓋率未顯示在客戶端計算機 ( CWM-921 ) 上。
-
Sanitizers 和 Valgrind Memcheck 可用,而 Profiler 尚未在新的遠程模式 ( CWM-4284 ) 下啟動。
請注意,這是新遠程開發(fā)功能的測試版,我們?nèi)栽诜e極努力改進它。
調(diào)試器
調(diào)試器中更好的數(shù)據(jù)視圖
在調(diào)試時,您確實希望專注于重要的事情。在此版本中,我們自定義了調(diào)試器呈現(xiàn)數(shù)據(jù)的方式。在新的設(shè)置是在上下文菜單中的調(diào)試器工具窗口或設(shè)置/首選項| 構(gòu)建、執(zhí)行、部署 | 調(diào)試器 | 數(shù)據(jù)視圖 | C/C++(或僅Data Views,如果在 CLion 中禁用了所有其他語言調(diào)試器)。您現(xiàn)在可以刪除您不感興趣的信息。
在變量視圖中:
-
用更具可讀性的別名替換標準庫類型。
-
刪除全局和函數(shù)范圍說明符以及stdABI 版本。
-
完全隱藏變量類型。
在框架視圖中,除了上面提到的設(shè)置:
-
隱藏函數(shù)參數(shù)和模板參數(shù)。
-
顯示模塊名稱,可幫助您隨時猜測代碼在哪個二進制文件中運行,并在線程啟動時顯示操作系統(tǒng)給出的線程 ID。
在相同的設(shè)置中,您還可以啟用/禁用數(shù)字變量的更新十六進制視圖。

為了獲得一種類型對象的連續(xù)內(nèi)存存儲的更具可讀性的表示,新的View as Array...操作可用于任何指針變量。此操作添加一個觀察點,將指針值呈現(xiàn)為數(shù)組。只需對指針變量調(diào)用相應(yīng)的操作并指定數(shù)組的大?。?br />
嵌入式開發(fā)的調(diào)試器更新
調(diào)試器中的 RTOS 線程視圖已擴展到 Zephyr OS。您可以在Settings/Preferences | 中啟用集成。構(gòu)建、執(zhí)行、部署 | 嵌入式開發(fā) | 實時操作系統(tǒng)集成。之前添加到 CLion 的 FreeRTOS 線程視圖通過添加對象和堆視圖進行了擴展。
Docker 和其他工具鏈更新
在 CLion 中,工具鏈是一組構(gòu)建和運行應(yīng)用程序所需的所有必要工具。考慮到 C++ 生態(tài)系統(tǒng)中可能的工具的多樣性,找到一種以最簡潔的方式配置它們的方法很重要。CLion v2021.3 使工具鏈更靈活,更易于配置和自定義。
我們已經(jīng)引入了Docker工具鏈,并建議您使用它而不是為您的 Docker 容器配置遠程工具鏈。它避免了冗余的源代碼同步,因為項目文件夾只是安裝到容器中。在Settings/Preferences |創(chuàng)建工具鏈 構(gòu)建、執(zhí)行、部署 | Toolchains,選擇你需要的Docker鏡像,等待工具檢測完成,保存設(shè)置?,F(xiàn)在您已準備好使用 Docker 工具鏈進行項目開發(fā)。
以下更改對嵌入式開發(fā)特別有用,它允許您使用各種編譯器和特定設(shè)置來配置工具鏈:
-
在自定義編譯器選項,則可以使用不是由本地的克利翁在克利翁支持的編譯器。CLion 開箱即用,可以檢測并使用 GCC、Clang、Clang-cl、MSVC 和 IAR 編譯器。對于其他編譯器,您現(xiàn)在可以提供包含自定義編譯器定義的*.yaml文件。從我們的網(wǎng)絡(luò)幫助中了解更多信息,并查看GitHub 上的示例配置,了解 CLion 團隊準備的幾個最流行的案例。
-
您現(xiàn)在可以通過CLion 中的腳本初始化編譯器運行的環(huán)境。此類腳本通常設(shè)置編譯器環(huán)境變量、自定義PATH變量等。腳本的新選項已添加到工具鏈配置中。
CLion v2021.3 中引入了一些特定于Windows 的增強功能:
-
該系統(tǒng)的工具鏈可以是ARM或Windows上其他嵌入式配置非常有用。它允許您配置make可執(zhí)行文件、編譯器和調(diào)試器,而無需選擇預(yù)定義的工具集和環(huán)境,類似于 Linux 和 macOS。
-
對于那些在沒有配置任何編譯器的 Windows 機器上開始使用 CLion 的人,MinGW 現(xiàn)在捆綁在 CLion 中。捆綁的確切版本是MinGW-w64 9.0,帶有l(wèi)anguages=c,c++、posix 線程和seh異常。
該CMake的項目模型已經(jīng)收到了一些更新:
-
我們已將其更新為 v3.21.1,這意味著 CLion 現(xiàn)在也支持 CMake Presets v3。
-
對于 3.20 及更高版本,CLion 現(xiàn)在在查詢項目信息時使用 CMake File API 作為其默認方法。如果您更喜歡傳統(tǒng)方法,其中涉及 CLion 解析使用 Makefiles 生成器運行的 CMake 命令的輸出,您仍然可以在設(shè)置中啟用它。
-
Ninja 已成為本地工具鏈(即不包括 Remote、Docker、WSL)和 CMake v3.20 及更高版本的 CLion 中新創(chuàng)建和新打開的項目的默認生成器。隨著這一變化,Ninja v1.10.2 被捆綁在 CLion 中。Ninja 似乎是目前最有效的 CMake 生成器之一,因此我們鼓勵您在您的項目中使用它。仍然存在一些問題,例如非彩色輸出 ( CPP-17786 ),我們計劃在即將推出的版本中解決這些問題。
-
用于設(shè)置 CMake 生成器的新 UI 已添加到 CMake 配置文件設(shè)置頁面Settings/Preferences | 構(gòu)建、執(zhí)行、部署 | 制作。用戶可以使用所選工具鏈的默認值或設(shè)置預(yù)定義列表中的任何生成器:
在編輯器中鍵入提示
在某些情況下,在代碼中的特定位置使用哪種類型可能并不明顯,例如用于auto變量、結(jié)構(gòu)化綁定和 lambda 返回類型。為了提高代碼可讀性,CLion 2021.3 添加了推導類型的類型提示。

鑒于現(xiàn)代 C++ 代碼可以完全避免提及類型,這可能是一個真正的幫助:

結(jié)合之前版本中添加的參數(shù)提示,這些提示使得在 C++ 中閱讀和維護代碼變得更加容易:
更強大更準確的代碼分析
CLion 2021.3 包括數(shù)據(jù)流分析的修復(fù)列表。分析現(xiàn)在是呼叫上下文敏感的。這意味著它以不同的方式處理不同的函數(shù)調(diào)用,而不會混合從它們中獲取的數(shù)據(jù)進行分析。CLion 的生命周期分析是通過 DFA 實現(xiàn)的,基于 Herb Sutter 的生命周期安全提議,得到了增強,現(xiàn)在可以識別懸空迭代器和修改后的所有者。

此更新還帶來了新的 MISRA 檢查(支持檢查的最新列表)并將包括 Clang-Tidy 在內(nèi)的 LLVM 工具更新到 v14.0.0。
插件更新
Space IDE 插件更新
您是否知道可以將 CLion 連接到Space以訪問您的存儲庫、代碼審查、自動化(CI 構(gòu)建)和包?您可以在 CLion 中手動安裝Space 插件。
合并請求和代碼審查是許多開發(fā)團隊工作流程的核心。能夠在同一個地方處理代碼并要求評論不是很好嗎?更新后的 Space 插件現(xiàn)在可讓您在 CLion 中完成所有這些工作!
-
從 IDE 創(chuàng)建合并請求并分配團隊成員進行代碼審查。
-
將文件標記為已查看/未查看以跟蹤您在代碼審查中的位置。
-
在代碼審查聊天中添加反應(yīng)以更輕松地與您的團隊溝通。
Rust 插件更新
IntelliJ Rust為聲明性宏 2.0 提供了改進的支持。程序宏支持是目前的一項實驗性功能,也已收到更新。
該插件現(xiàn)在獲取完整的 stdlib 信息,包括依賴項和 Cargo 功能。
新的名稱解析引擎現(xiàn)在為自動導入快速修復(fù)和完成當前范圍之外的項目提供數(shù)據(jù)。這使得自動導入可用于宏并改進復(fù)雜再導出的處理——同時提高性能。
默認情況下啟用 ML 輔助完成。由于crates.io元數(shù)據(jù)的本地索引,Cargo.toml 中的Crate 和版本完成得到了顯著改進。該插件還添加了一個快速修復(fù)來限定完整路徑和新的重構(gòu)以提取結(jié)構(gòu)字段。
在運行和調(diào)試方面,代碼覆蓋率現(xiàn)在適用于穩(wěn)定的工具鏈,默認情況下啟用 WSL 支持,并且調(diào)試器能夠在“恐慌!”時自動中斷。
其他變化
快速瀏覽一下其中的一些變化:
-
一個新的構(gòu)建目錄選項被添加到設(shè)置/首選項 | 構(gòu)建、執(zhí)行、部署 | Makefile用于配置make在 CLion 中加載 Makefile 項目時執(zhí)行所有任務(wù)的目錄。
-
CLion 中的 Gradle 和 Gradle Native 插件現(xiàn)已分拆,可以從我們的市場安裝。
-
“結(jié)構(gòu)”工具窗口和“結(jié)構(gòu)”彈出窗口中添加了一個新的切換開關(guān),以顯示成員函數(shù)的限定名稱并幫助您更輕松地區(qū)分具有相同名稱的函數(shù)。
-
新的Push All up to Here操作允許您將提交推送到您在Git工具窗口的日志選項卡中選擇的提交。
-
為了提高 WSL 上項目的 CLion 性能,在這種情況下,基于Clangd的語言引擎現(xiàn)在直接在 WSL 上運行。
想要了解或購買Clion正版授權(quán)的朋友,歡迎
JetBrain技術(shù)交流群現(xiàn)已開通,QQ搜索群號“786598704”即可加入
標簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn