深度操作系統(tǒng)自研 deepin-IDE 開發(fā)工具首次亮相:代碼開源,與 VS Code 無關(guān)
IT之家 9 月 4 日消息,deepin 深度操作系統(tǒng)今日正式公布了旗下自研 IDE 開發(fā)工具,經(jīng)過多年時(shí)間研發(fā),deepin-IDE 首次亮相,官方稱最終目標(biāo)是將分散的內(nèi)容整合到一起,形成一個(gè)高度統(tǒng)一、開放自由、資源豐富的生態(tài)建設(shè)利器。
本文引用地址:http://2s4d.com/article/202309/450223.htm據(jù)介紹,deepin-IDE 在內(nèi)部已經(jīng)開發(fā)了多年時(shí)間,還沒有達(dá)到非常完善的地步。同時(shí)因?yàn)樵O(shè)計(jì)人員沒有參與,所以整個(gè)界面由研發(fā)人員“原生”設(shè)計(jì),非常時(shí)(樸)尚(素)。
▲ 語言支持,圖源深度操作系統(tǒng)公眾號(hào),下同
▲ 代碼遷移
▲ 調(diào)試模式
▲ 反向調(diào)試
▲ 版本管理
deepin-IDE 總體采用基于模塊化框架開發(fā),支持 C / C++、Java、Python 等多種編程語言,每一種開發(fā)語言均是以插件的方式接入。
深度操作系統(tǒng)官方表示,模塊化設(shè)計(jì)一方面可以縮短產(chǎn)品研發(fā)與制造周期,增加產(chǎn)品系列,提高產(chǎn)品質(zhì)量,快速應(yīng)對(duì)市場(chǎng)變化;另一方面,也可以減少或消除對(duì)環(huán)境的不利影響,方便重用、升級(jí)、維修和獨(dú)立卸載。其整體結(jié)構(gòu)設(shè)計(jì)如下圖所示:
如上圖所示,帶顏色的模塊均和特定的語言相關(guān),對(duì)應(yīng)通信中間件用的是 LSP(Language Server Protocol) 語言服務(wù)協(xié)議,可以基于該協(xié)議實(shí)現(xiàn)語法高亮、符號(hào)樹、語法樹等功能;調(diào)試相關(guān)的用的是 DAP(Debug Adapter Protocol) 調(diào)試適配協(xié)議,可以基于該協(xié)議實(shí)現(xiàn)被調(diào)試程序的啟動(dòng)、運(yùn)行、斷點(diǎn)命中、單步跳入、單步跳出等常用調(diào)試功能。通過中間協(xié)議的適配,解耦了語言業(yè)務(wù)功能與實(shí)際功能提供者的依賴,讓語言擴(kuò)展變得可行。
為了進(jìn)一步提高擴(kuò)展性,前、后端均以插件方式實(shí)現(xiàn)。在前端通過接入一個(gè)新的語言插件來實(shí)現(xiàn)新語言的擴(kuò)展,該插件用于實(shí)現(xiàn)語言相關(guān)的、特殊的業(yè)務(wù)邏輯,不用編寫全量的代碼,從而減輕了語言插件的代碼負(fù)擔(dān)。
在后端,通過插件方式可以更容易接入一個(gè)語言服務(wù)提供者。
根據(jù)上述描述,將語言相關(guān)的頂層數(shù)據(jù)流圖繪制如下:
功能介紹
deepin-IDE 除了包含 IDE 常用功能,如智能編輯器、高度可擴(kuò)展的命令系統(tǒng)、工程管理、構(gòu)建管理系統(tǒng)、插件系統(tǒng)等之外,還支持多種兼容協(xié)議、多種開發(fā)語言、代碼版本管理集成、低開銷的實(shí)時(shí)性能分析工具等??傮w而言,IDE 常見功能都在表里:
版本管理
支持主流版本控制系統(tǒng) Git、SVN。
協(xié)議支持
語言支持
支持 C++、C、Java、Python、JavaScript 五大類常用編輯語言,支持常用構(gòu)建工具 CMake、Maven、Ninja、Gradle 等。
除了上述常見功能,deepin-IDE 還包含一些特有功能,例如反向調(diào)試、代碼遷移等。
反向調(diào)試
該功能通過進(jìn)程執(zhí)行歷史回放、事件分類管理、時(shí)間軸管理等手段,進(jìn)一步提升應(yīng)用的調(diào)試效率和開發(fā)能力。
代碼遷移
代碼遷移分析子系統(tǒng)是 deepin-IDE 的一大亮點(diǎn),可以輔助開發(fā)者將 x86 平臺(tái)的 Linux 應(yīng)用遷移到龍芯、飛騰等國(guó)產(chǎn)處理器架構(gòu),及統(tǒng)信 UOS 等國(guó)產(chǎn)操作系統(tǒng)上,使用該功能可以自動(dòng)分析出需修改的代碼內(nèi)容,并給出代碼遷移指導(dǎo),降低遷移難度,提升遷移效率。
據(jù)介紹,自研 IDE 可以提供 DTK、各種二開接口的開發(fā)支持,開發(fā)者可以基于開發(fā)庫(kù)開發(fā)出對(duì)應(yīng)業(yè)務(wù)功能的應(yīng)用。其次,自研 IDE 可以默認(rèn)提供“玲瓏”打包格式,一次打包即可覆蓋全 Linux 生態(tài)環(huán)境。最后,為了便于開發(fā)者交流,增強(qiáng)社區(qū)活性,自研 IDE 可以集成開發(fā)者平臺(tái),使開發(fā)者匯聚在一起交流開發(fā)經(jīng)驗(yàn)。
深度操作系統(tǒng)官方表示,deepin-IDE 自研代碼 14 萬余行。為了避免重復(fù)造輪子,deepin-IDE 采用了一些開源終端組件、功能組件:
深度操作系統(tǒng)官方還回應(yīng)稱,deepin-IDE 和 VS Code 沒有關(guān)聯(lián)。
deepin-IDE 代碼現(xiàn)已公開地址,IT之家附倉(cāng)庫(kù)和下載地址如下:
倉(cāng)庫(kù)地址:
下載鏈接:
評(píng)論