IT 之家 11 月 13 日消息,JetBrains 公司推出新的 C 語言和 C++ 開發(fā) IDE —— CLion Nova,使用 ReSharper C++/Rider C++ 語言引擎而不是原版 CLion“舊版”引擎開發(fā)。
CLion Nova 預(yù)覽版現(xiàn)可通過官方 Toolbox 應(yīng)用獲取。2024 年的某個(gè)時(shí)候,根據(jù)收集的反饋結(jié)果,CLion Nova 將合并到 CLion。在此之前,預(yù)覽版本將免費(fèi)使用,并且可以與原版 CLion 并行安裝,IT 之家小伙伴可以下載體驗(yàn)。
據(jù)介紹,JetBrains 的第一個(gè) C++ 引擎是為 AppCode(為 iOS 和 macOS 開發(fā)人員提供的 IDE)設(shè)計(jì)的。它是 IntelliJ 平臺(tái)的一部分,最初用 Java 編寫,后來也用 Kotlin 編寫。該引擎的方法和架構(gòu)可以很好地服務(wù)于基于 IntelliJ 的 IDE 中的多種語言;然而,事實(shí)證明這種設(shè)計(jì)并不最適合 C++ 語言。
為了更快地適應(yīng) C++ 的發(fā)展并分離引擎和 IDE 進(jìn)程,后來在 CLion 中添加了基于 clangd 的引擎。該引擎基于 clangd 自定義分支構(gòu)建,可檢測(cè)任何警告和錯(cuò)誤,在編輯器中顯示并建議快速修復(fù),以及執(zhí)行突出顯示、完成和某些導(dǎo)航操作。它還用于數(shù)據(jù)流分析和 MISRA 檢查等。與此同時(shí),CLion 的“舊版”引擎負(fù)責(zé)其他代碼檢查功能。
clangd 有很多優(yōu)點(diǎn),但是當(dāng)涉及到項(xiàng)目范圍的重構(gòu)和操作時(shí),它的幫助不是很大。JetBrains 為 C++ 開發(fā)的另一個(gè)替代方案是 ReSharper C++ 和 Rider(用于 C++ 游戲開發(fā))中使用的語言引擎。還有一個(gè)通信協(xié)議,使基于 IntelliJ 的 IDE(如 Rider)能夠與充當(dāng)語言引擎的獨(dú)立后端進(jìn)程進(jìn)行通信。官方現(xiàn)在已將此協(xié)議和原始引擎改編為 CLion。
在這個(gè)新的實(shí)驗(yàn)性解決方案中,官方重點(diǎn)關(guān)注 IDE 的響應(yīng)能力、準(zhǔn)確性和性能,有兩個(gè)主要目標(biāo):
解決 CLion 因使用“舊版”引擎而導(dǎo)致的長(zhǎng)期存在的性能和質(zhì)量問題。
統(tǒng)一所有 C++ 工具(即 CLion、Rider 和 ReSharper C++)的用戶體驗(yàn)。
因此,官方將新的實(shí)驗(yàn)預(yù)覽版命名為 CLion Nova,當(dāng)前版本的 CLion 為 CLion Classic。未來,官方計(jì)劃將 CLion Nova 合并到 CLion Classic,預(yù)計(jì)不會(huì)推出新產(chǎn)品。
CLion Nova 仍然使用兩種 C++ 語言引擎:一種是基于 clangd 的引擎,另一種是 ReSharper C++/Rider 使用的引擎。
CLion Classic 的大部分功能在 CLion Nova 中的工作原理預(yù)計(jì)完全相同。CLion Nova 在性能方面最明顯的優(yōu)勢(shì)是:
更快的突出顯示速度,尤其是在增量代碼更新的情況下
響應(yīng)速度更快的用戶界面
更快地查找用法
重構(gòu)中的凍結(jié)和掛起顯著減少
更快的測(cè)試索引
這種統(tǒng)一還為 CLion Nova 帶來了一些 CLion Classic 功能集中未包含的新功能:
新的重構(gòu),例如引入字段、引入命名空間別名、引入 using 枚舉以及轉(zhuǎn)換為作用域枚舉。
新的檢查、快速修復(fù)和意圖,例如冗余限定符、用顯式類型聲明替換 auto 以及 #include 指令的排序。
新的代碼提示,例如預(yù)處理指令提示和 Push-to-Hint 模式。
與 CLion Classic 不同,CLion Nova 不使用 clangd 來實(shí)現(xiàn)代碼完成或突出顯示等核心 IDE 功能。然而,JetBrains 的 clangd 分支仍然與新引擎一起運(yùn)行,以執(zhí)行各種任務(wù)(ClangFormat、Clang-Tidy、MISRA 檢查、數(shù)據(jù)流分析等)。
當(dāng) CLion Classic 用戶開始使用 CLion Nova 時(shí),會(huì)有一些新的體驗(yàn)變化:
當(dāng)用戶輸入時(shí) IDE 的一些反應(yīng)方式是不同的。
與代碼檢查功能相關(guān)的某些 UI 元素和設(shè)置可能看起來位于不熟悉的位置。
某些與代碼相關(guān)的設(shè)置在 CLion Nova 中可能具有不同的默認(rèn)值。首次啟動(dòng)時(shí),CLion Nova 將從 CLion Classic 遷移一些按項(xiàng)目和按應(yīng)用程序的設(shè)置,但不是全部。
在不同語言配置(即調(diào)試 / 發(fā)布)之間切換,可能需要更多時(shí)間讓代碼檢查引擎跟上。也沒有選項(xiàng)可以切換每個(gè)文件的解析上下文。
ReSharper C++ 僅適用于 Windows,而 Rider 是跨平臺(tái)的。盡管如此,ReSharper C++/Rider 引擎可能無法像 Windows 環(huán)境那樣無縫地支持非 Windows 環(huán)境。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。