deepin 社區(qū)正式官宣 deepin-IDE(深度集成開發(fā)環(huán)境)—— 由深度公司自主研發(fā),具有多語言、跨平臺兼容特性的輕量級集成開發(fā)環(huán)境。
功能介紹
deepin-IDE 除了包含 IDE 常用功能,如智能編輯器、高度可擴展的命令系統(tǒng)、工程管理、構(gòu)建管理系統(tǒng)、插件系統(tǒng)等之外,還支持多種兼容協(xié)議、多種開發(fā)語言、代碼版本管理集成、低開銷的實時性能分析工具等。
deepin-IDE 目前支持 C++、C、Java、Python、JavasSript 五種主流編程語言;內(nèi)置語言服務器協(xié)議(LSP)、調(diào)試適配器協(xié)議(DAP);支持主流版本控制系統(tǒng) Git、SVN;支持常用構(gòu)建工具 Cmake、Maven、Ninja、Gradle 等。
功能界面預覽
語言支持
代碼遷移
調(diào)試模式
反向調(diào)試
版本管理
根據(jù)官方的介紹,deepin-IDE 采用了一些開源終端組件、功能組件,自研代碼 14 萬余行。
此外,deepin-IDE 與 VS Code 沒有關(guān)聯(lián)。
據(jù)了解,deepin-IDE 已經(jīng)在內(nèi)部開發(fā)了多年,之所以一直都默默無聞,是因為這期間都在不斷完善特色功能,并攻克一些技術(shù)難題,還沒有達到非常完善的地步。此外,由于缺少設(shè)計人員參與,整個界面由研發(fā)人員 “原生” 設(shè)計,非常樸素。
deepin-IDE 架構(gòu)介紹
總體采用基于模塊化框架開發(fā),支持 C/C++、Java、Python 等多種編程語言,每一種開發(fā)語言均是以插件的方式接入。
其整體結(jié)構(gòu)設(shè)計如下圖所示:
如上圖所示,帶顏色的模塊均和特定的語言相關(guān),對應通信中間件用的是 LSP(Language Server Protocol) 語言服務協(xié)議,可以基于該協(xié)議實現(xiàn)語法高亮、符號樹、語法樹等功能;調(diào)試相關(guān)的用的是 DAP(Debug Adapter Protocol) 調(diào)試適配協(xié)議,可以基于該協(xié)議實現(xiàn)被調(diào)試程序的啟動、運行、斷點命中、單步跳入、單步跳出等常用調(diào)試功能。
通過中間協(xié)議的適配,解耦了語言業(yè)務功能與實際功能提供者的依賴,讓語言擴展變得可行。