CLion 2019.3 正式發布,C/C++ 跨平臺集成開發環境

2020-12-21 開源中國

CLion 2019.3 已正式發布。新版本加快了代碼完成速度,消除各種 UI 凍結並引入許多其他性能改進。它還增強了與 CMake 的集成,增加了 Ninja 生成器支持,並提供了代碼覆蓋範圍和 WSL2 支持。以及,對 C++ 20 的支持包括重構、導航和代碼完成。

IDE 性能

此版本從 IntelliJ 平臺方面,引入了許多重要的體系結構更改,以減少 IDE 啟動時間。這些更改包括但不限於:

  • 某些曾相繼運行的進程的並行化
  • 以使初始類加載更快的方式重組類
  • 在 macOS 上優化字體加載

在 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 下自動啟動程序。

CMake

此版本解決了 CLion 中 CMake 集成的兩個最大缺點。一個方法是使用 Ninja 生成器。此外,現在可以在 CMake 中使用任何可用的生成器。只需將其傳遞給 CMake 配置文件設置中的 CMake 選項:

該實現基於 CMake File API,當使用 CMake 3.15 或更高版本時可用。

已解決的一個問題是缺少為 CLion 中新創建的項目全局配置某些 CMake 設置的功能。例如,用於生成路徑或某些環境設置的模板。現在可以使用 CMake Defaults 做到這一點。

另一個問題也得到解決——如果某些 CMake 配置無效並且無法重新加載,CLion 現在不會失敗,但是它將成功重新加載所有可能的有效配置。

在 Header/Source 文件之間切換

為了在頭文件和源文件之間切換,CLion 現在提供了一種更有效、更準確的基於啟發式的操作,稱為「轉到頭文件/源」(Go to Header/Source)。可使用它代替更通用的 IntelliJ 平臺「轉到相關符號」(Go to Related Symbol)操作。

C++ 20’s Concepts

開發團隊正在試驗基於 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/

相關焦點

  • 搭建C語言開發環境,其實只需要兩個工具就行了!
    工欲善其事必先利其器,對於c語言學習來說,重要的不是看了多少本書,而是打了多少行代碼。在手打代碼之前,我們當然要先搭建自己的開發環境,對於c語言的學習來說,其實只需要兩個工具就行了,那就是文本編輯器和c編譯器了。
  • Rider首頁、文檔和下載 - .NET 跨平臺集成開發環境 - OSCHINA...
    Rider,.NET 跨平臺集成開發環境Rider 可以打開,管理,構建和調試各種基於 .NET Framework,Mono 和 .NET Core 的解決方案,並為 .NET 開發中使用的大多數語言提供編輯支持:C#, VB.NET, ASP.NET 語法, XAML, XML, JavaScript, TypeScript, JSON, HTML, CSS, 和 SQL。
  • 【希雲cSphere】1.0版本發布,正式商用
    cSphere產品經過十多個版本的迭代,以及在大量企業真實環境中的使用反饋,歷經一年時間,在今天我們正式宣布:希雲cSphere正式進入企業商用階段。希雲cSphere1.0的發布,同樣標誌著國內Docker技術的發展已經進入到了一個新的裡程碑!!標誌著企業落地docker可以真正放心!!
  • Cocos2d-x v3.13正式發布打造高效開發新體驗
    原標題:Cocos2d-x v3.13正式發布打造高效開發新體驗   近日,Cocos引擎完成重大更新:正式推出Cocos2d-x v3.13版本。在新版本裡,AudioEngine性能最高提升4倍、支持ETC1 alpha通道、集成AnySDK、增加VR插件、優化Canvas髒矩形算法等等。該版本進一步完善並整合了歷史零碎功能,為開發者創造更為簡單、快捷的開發環境。
  • 微軟神級開發工具:Visual Studio 2019正式版將於4月2日發布
    去年6月,微軟宣布開發新一代集成開發環境(integrated development environment,IDE)Visual Studio 2019。今天(2月15日),微軟敲定了Visual Studio 2019正式版的首發時間,4月2日(北京時間4月3日凌晨1點)。目前,VS2019已經發布了三個公開預覽版,分別是去年12月的Preview 1、今年1月的Preview 2和2月13日剛推出的Preview 3。
  • 「物聯網」Rust系列3:Rust如何避免C和c++的陷阱
    這是關於我們在dwell如何在Rust中重寫物聯網平臺的系列文章的第3部分。  第一部分:「物聯網」Rust系列1:用Rust重寫了物聯網平臺並成功  第二部分:「物聯網」Rust系列(2):以火取光,C和C++的問題  所以現在我已經徹底,也許不公平烤幾個設計缺陷的一種程式語言超過四十歲,經營著世界上大多數嵌入式設備,讓我們來談談如何鏽設計出這些問題,同時仍然保留了C和c++的部分,讓他們強大的和有用的語言。
  • 中望發布自主CAE集成平臺ZWMeshWorks,高效助力多學科仿真開發
    近日,中望軟體面向全球開發者正式發布了自主CAE軟體集成平臺——ZWMeshWorks2021,廣大開發者可在該平臺上便捷地進行二次開發,集成多學科求解器,為靈活定製CAE軟體奠定重要基礎。
  • 微軟Visual Studio 2019版本16.3 正式發布 支持 .NET Core桌面應用
    微軟正式發布了Visual Studio 2019 16.3版本,主要更新內容如下:  .NET Core 3.0  Visual Studio版本16.3包括對 .NET Core 3.0 的支持。  注意:如果使用的是.NET Core 3.0,則需要使用Visual Studio 16.3或更高版本。
  • 【公示】2019年物聯網關鍵技術與平臺創新類、集成創新與融合應用...
    在項目發布之前,為進一步聽取社會各界意見,現將擬發布的2019年物聯網關鍵技術與平臺創新類、集成創新與融合應用類項目名單進行公示。如有不同意見,請在公示期間將意見書面反饋至工業和信息化部科技司,電子郵件發送至tanglei@miit.gov.cn(郵件主題註明:2019年物聯網項目意見反饋)。
  • OPNFV XCI:跨社區集成實現開放創新
    Linux基金會下的OPNFV項目是通過集成,部署和測試促進各種開源生態系統網絡功能虛擬化(NFV)組件的開發和演進的開源項目,該項目目前宣布了其跨社區持續集成(XCI)方案,意圖通過增加OPNFV社區和上遊社區之間的協作來實現創新。
  • 神級IDE:微軟正式發布Visual Studio 2019
    微軟今天舉辦線上發布會,正式發布了Visual Studio 2019,並開放下載,這套新一代集成開發環境(IDE)適用於 Android、iOS、Windows、Web、雲開發。微軟表示,Visual Studio 2019相較於Visual Studio 2017更快、更穩定、更有生產力、更易於使用,有更多的重構、導航、Debug調試功能、更快的加載、更快的編譯效率,也會有更多協作和智能功能,比如Live Share遠程實時協作、IntelliCode AI輔助代碼補全。
  • 杭州安卓應用軟體開發公司哪家好_十五年技術沉澱
    所以在選擇開發APP公司時,不可單純以價格廉價為決定性因素,更應注重質量、服務和售後。 3、開發APP需要準備一份需求明確的文檔 目前,開發APP並沒有一個統一的收費標準,開發APP的價格,往往是根據APP開發功能的複雜程度來確定,也就是APP開發的功能需求。
  • Koala4 發布,Java開發平臺
    Koala是一個面向Java開發者的開源免費開發平臺,以領域驅動設計範 式為指導思想,以DDDLib框架為實現核心,提供KoalaUI前端框架、規 範化項目管理工具OpenCI、在線領域建模工具
  • SAP系統和微信集成的系列教程之一:微信開發環境的搭建
    ,因此我把當時寫的英文版翻譯成中文,重新發布在我的公眾號上。需要注意的是,時隔三年,微信公眾號的開發流程可能有所變化,請大家自行鑑別。和微信公眾號集成的系統,我三年前選擇的是SAP Cloud for Customer.
  • 《神之戰:日本神話大戰》今年6月登陸Steam平臺
    《神之戰:日本神話大戰》今年6月登陸Steam平臺 時間:2019-03-30 16:07:06 來源:3DM編譯
  • DevEco Studio 2.0,為跨端應用「高效開發」設計
    12月16日,萬眾期待的HarmonyOS 2.0手機應用開發者Beta版本在北京正式發布。與此同時,作為手機開發者Beta版本的配套IDE工具,HUAWEI DevEco Studio 2.0 Beta3也針對手機同步升級了相關特性功能,讓大家能夠更高效便捷地開發跨端應用。
  • 2019 年 Python、Golang、Java、C++、Rust 該如何選擇?
    Python、Golang、Java、C++、Rust這幾門程式語言都是2019非常火熱的語言,這幾門語言各有特點各有優劣,因此很多初學者總是糾結於如何在這五種語言間選擇。
  • 2019上海車展:特勒於上海正式發布專為電動汽車設計研發的全新電動...
    2019年4月17日上海訊,本特勒在2019上海國際車展上正式發布全新電動汽車驅動系統2.0版本。該系統解決方案專門為時下熱門的電動汽車設計研發。它的前身為2017年在上海全球首發的本特勒電動汽車底盤系統原型。
  • STM32開放式開發環境:釋放創造力的利器
    如今的開發工具非常好用,軟硬體均呈現模塊化趨勢,插接安裝簡單容易,使得產品設計評估和原型開發周期大幅縮短。STM32開放式開發環境是業內獨一無二的軟硬體開發平臺,堆疊式插接電路板集成各種模塊化硬體,同時模塊化軟體覆蓋從驅動程序到應用層的全部軟體,幫助設計人員將創意快速變成產品原型,順利轉化成最終設計。
  • 晨讀|《工業網際網路平臺白皮書(2019討論稿)》解讀
    21Apr三月十七由工業網際網路產業聯盟聯合40餘家國內外平臺企業共同編寫的《工業網際網路平臺白皮書(2019討論稿)》於2月22日在2019工業網際網路峰會上正式發布。四是平臺驅動組織管理體系重塑,推動企業內頂層決策到底層生產的端到端集成,促進資源配置優化,實現扁平化管理及社會化協同。工業網際網路平臺蓬勃發展《工業網際網路平臺白皮書(2019討論稿)》認為,去年一年多來,我國平臺發展取得顯著進展,平臺應用水平得到明顯提升,多層次系統化平臺體系初步形成。湧現出更多知名工業網際網路平臺產品。