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

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

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

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

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

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