一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

好多人問,必須正式介紹一下:deepin-IDE

深度操作系統(tǒng) ? 來源:深度操作系統(tǒng) ? 2023-09-04 16:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

因為眾所周知的原因,最近很多人都在討論國產(chǎn) IDE,有些 deepin 社區(qū)成員就會發(fā)出疑問:深度科技(deepin)有自己的 IDE 嗎?

正在網(wǎng)友熱議的時候,deepin 社區(qū)論壇上很快就出現(xiàn)一篇帖子,內(nèi)容是關(guān)于 deepin-IDE 的使用手冊,此貼一出立即炸出很多正在勤奮搬磚的小伙伴。

當(dāng)然,也會有人緊跟時事發(fā)出靈魂一問:

969a0c88-4af5-11ee-97a6-92fbcf53809c.png

為了消除大家的疑問,本文就做一個正式回答,同時也順帶介紹一下 deepin 自己的 IDE。

為什么要做自己的 IDE

操作系統(tǒng)角度來說,要構(gòu)建繁榮的生態(tài)環(huán)境,需要豐富和完善的基軟件體系。開發(fā)庫、封包格式、開發(fā)工具以及開發(fā)者支持,是逐步完善發(fā)展的過程。

開發(fā)庫

在開發(fā)庫方面,deepin 操作系統(tǒng)已經(jīng)擁有了自己的 DTK(Development ToolKit)開發(fā)套件。DTK 具備4個核心模塊、220+個類、2300+函數(shù)接口、11個輔助功能模塊、10+個擴(kuò)展接口模塊,已經(jīng)能夠滿足日常圖形應(yīng)用、業(yè)務(wù)應(yīng)用、系統(tǒng)定制應(yīng)用的開發(fā)需求。目前 deepin 操作系統(tǒng)上自研的瀏覽器、音樂、郵件等 40 余款原生應(yīng)用全部使用 DTK 開發(fā)。

-DTK:https://github.com/linuxdeepin/dtk

封包格式

封包格式源于Linux系統(tǒng)的軟件包管理器,例如 apt、up2date、 yum、portage 和 pacman 等。包管理器的多樣性給用戶帶來了更多選擇,但缺點也十分顯著:它們的軟件包無法互通。deepin 操作系統(tǒng)為了解決“一包多用”的問題,推出了“玲瓏”軟件包管理方案,徹底解決系統(tǒng)與應(yīng)用、應(yīng)用與應(yīng)用之間因升級引起的兼容性問題。

-Linglong:https://github.com/linuxdeepin/linglong

-“玲瓏”打包商店:https://store.linglong.dev/開發(fā)工具

在開發(fā)工具層面,成熟的 IDE 數(shù)不勝數(shù),例如 VSCode、Visual Studio、QtCreator 等,這些成熟IDE都有一些共性,比如良好的擴(kuò)展性,美觀的界面和較強(qiáng)的易用性,最重要的是對應(yīng)的生態(tài)都已經(jīng)非常完善。但痛點在于,我們還沒有自研的IDE工具。自研 IDE 是生態(tài)建設(shè)中非常重要的一環(huán),也是開發(fā)者生態(tài)的集大成者。

首先,自研 IDE可以提供DTK、各種二開接口的開發(fā)支持,開發(fā)者可以基于開發(fā)庫開發(fā)出對應(yīng)業(yè)務(wù)功能的應(yīng)用。其次,為了用上“玲瓏”這樣的好東西,自研 IDE 可以默認(rèn)提供“玲瓏”打包格式,一次打包即可覆蓋全 Linux 生態(tài)環(huán)境。最后,為了便于開發(fā)者交流,增強(qiáng)社區(qū)活性,自研 IDE 可以集成開發(fā)者平臺,使開發(fā)者匯聚在一起交流開發(fā)經(jīng)驗。由此看來,自研 IDE 勢在必行!

按照 deepin 團(tuán)隊說干就干的風(fēng)格,經(jīng)過多年時間研發(fā),deepin-IDE 就破殼了,它的最終目標(biāo)就是將上述分散的內(nèi)容整合到一起,形成一個高度統(tǒng)一、開放自由、資源豐富的生態(tài)建設(shè)利器。

deepin-IDE 當(dāng)前完成情況

deepin-IDE 并不是突然冒出來的,在內(nèi)部已經(jīng)開發(fā)了多年時間,為什么一直都默默無聞呢?因為這期間都在不斷完善特色功能,并攻克一些技術(shù)難題,還沒有達(dá)到非常完善的地步。同時因為設(shè)計人員沒有參與,所以整個界面由研發(fā)人員“原生”設(shè)計,非常時(樸)尚(素),至于好不好看呢,文末有功能預(yù)覽圖,大家看了再說。

首先帶大家看看deepin-IDE的整體架構(gòu):

架構(gòu)介紹

總體采用基于模塊化框架開發(fā),支持 C/C++、Java、Python等多種編程語言,每一種開發(fā)語言均是以插件的方式接入。模塊化設(shè)計一方面可以縮短產(chǎn)品研發(fā)與制造周期,增加產(chǎn)品系列,提高產(chǎn)品質(zhì)量,快速應(yīng)對市場變化;另一方面,也可以減少或消除對環(huán)境的不利影響,方便重用、升級、維修和獨立卸載。其整體結(jié)構(gòu)設(shè)計如下圖所示:

96c2f7a6-4af5-11ee-97a6-92fbcf53809c.png

如上圖所示,帶顏色的模塊均和特定的語言相關(guān),對應(yīng)通信中間件用的是 LSP(Language Server Protocol) 語言服務(wù)協(xié)議,可以基于該協(xié)議實現(xiàn)語法高亮、符號樹、語法樹等功能;調(diào)試相關(guān)的用的是 DAP(Debug Adapter Protocol) 調(diào)試適配協(xié)議,可以基于該協(xié)議實現(xiàn)被調(diào)試程序的啟動、運行、斷點命中、單步跳入、單步跳出等常用調(diào)試功能。通過中間協(xié)議的適配,解耦了語言業(yè)務(wù)功能與實際功能提供者的依賴,讓語言擴(kuò)展變得可行。

為了進(jìn)一步提高擴(kuò)展性,前、后端均以插件方式實現(xiàn)。

在前端通過接入一個新的語言插件來實現(xiàn)新語言的擴(kuò)展,該插件用于實現(xiàn)語言相關(guān)的、特殊的業(yè)務(wù)邏輯,不用編寫全量的代碼,從而減輕了語言插件的代碼負(fù)擔(dān)。

在后端,通過插件方式可以更容易接入一個語言服務(wù)提供者。

根據(jù)上述描述,將語言相關(guān)的頂層數(shù)據(jù)流圖繪制如下:

96e048ce-4af5-11ee-97a6-92fbcf53809c.jpg

功能介紹

deepin-IDE除了包含IDE常用功能,如智能編輯器、高度可擴(kuò)展的命令系統(tǒng)、工程管理、構(gòu)建管理系統(tǒng)、插件系統(tǒng)等之外,還支持多種兼容協(xié)議、多種開發(fā)語言、代碼版本管理集成、低開銷的實時性能分析工具等。總體而言,IDE常見功能都在表里

96ec013c-4af5-11ee-97a6-92fbcf53809c.jpg

版本管理

支持主流版本控制系統(tǒng)Git、SVN。

970a5042-4af5-11ee-97a6-92fbcf53809c.jpg

協(xié)議支持

971ad548-4af5-11ee-97a6-92fbcf53809c.jpg

語言支持

支持C++、C、java、python、javascript五大類常用編輯語言,支持常用構(gòu)建工具CMake、Maven、Ninja、Gradle等。

972a80a6-4af5-11ee-97a6-92fbcf53809c.jpg

除了上述常見功能,deepin-IDE還包含一些特有功能,例如反向調(diào)試、代碼遷移等。

反向調(diào)試

該功能通過進(jìn)程執(zhí)行歷史回放、事件分類管理、時間軸管理等手段,進(jìn)一步提升應(yīng)用的調(diào)試效率和開發(fā)能力。

代碼遷移

代碼遷移分析子系統(tǒng)是deepin-IDE的一大亮點,可以輔助開發(fā)者將x86平臺的Linux應(yīng)用遷移到龍芯、飛騰等國產(chǎn)處理器架構(gòu),及統(tǒng)信UOS等國產(chǎn)操作系統(tǒng)上,使用該功能可以自動分析出需修改的代碼內(nèi)容,并給出代碼遷移指導(dǎo),降低遷移難度,提升遷移效率。

功能界面預(yù)覽

語言支持

973480d8-4af5-11ee-97a6-92fbcf53809c.png

代碼遷移

97809996-4af5-11ee-97a6-92fbcf53809c.png

調(diào)試模式

97971a2c-4af5-11ee-97a6-92fbcf53809c.png

反向調(diào)試

97d9e7c6-4af5-11ee-97a6-92fbcf53809c.png

版本管理

97fc94a6-4af5-11ee-97a6-92fbcf53809c.png

誰在使用 deepin-IDE

deepin-IDE 已經(jīng)在深度的部分應(yīng)用上輕度使用,以下羅列了部分:

深度畫板應(yīng)用(deepin-draw)

倉庫地址:

https://github.com/linuxdeepin/deepin-draw

深度看圖應(yīng)用(deepin-image-viewer)

倉庫地址:

https://github.com/linuxdeepin/deepin-image-viewer

深度相冊應(yīng)用(deepin-album)

倉庫地址:

https://github.com/linuxdeepin/deepin-album

開發(fā)畫板應(yīng)用

9817efa8-4af5-11ee-97a6-92fbcf53809c.png

開發(fā)畫圖應(yīng)用

982cf1f0-4af5-11ee-97a6-92fbcf53809c.png

開發(fā)相冊應(yīng)用

9852768c-4af5-11ee-97a6-92fbcf53809c.png

deepin-IDE 將來會如何發(fā)展

IDE 是一個非常宏大的話題,deepin-IDE 當(dāng)前相比于其他成熟的IDE才剛起步,還有很多需要完善的地方:

請一個設(shè)計師

插件系統(tǒng)完善

低代碼編程支持

支持一鍵軟件打包:deb、玲瓏打包

支持軟件包簽名、上架應(yīng)用商店

AI功能的接入

DTK等開發(fā)套件集成,文管、桌面、任務(wù)欄等插件模板接入

開發(fā)者平臺接入

deepin-IDE 還存在一些已知問題待解決:

文件描述符占用過多導(dǎo)致崩潰

存在部分翻譯缺失的問題

底部交互區(qū)暫不支持多頁面

符號樹解析精度不高

deepin-IDE 開源嗎

deepin-IDE 傳承了 deepin “專注自研,貢獻(xiàn)開源” 的技術(shù)基因,自研代碼14萬余行。

當(dāng)然,這一產(chǎn)品的快速發(fā)展,是站在了“開源”這個巨人的肩膀上,為了避免重復(fù)造輪子,采用了一些開源終端組件、功能組件,在此列出該產(chǎn)品汲取的開源成果,感謝開源社區(qū)!

986ff9e6-4af5-11ee-97a6-92fbcf53809c.jpg

代碼公開地址,歡迎大家積極參與到 deepin-IDE 的研發(fā):

倉庫地址:

GitHub: https://github.com/linuxdeepin/deepin-unioncode

Gitee: https://gitee.com/deepin-community/deepin-unioncode

下載鏈接:

https://github.com/linuxdeepin/deepin-unioncode/releases

講到這里,正好可以回答一下本文開頭社友的問題:

969a0c88-4af5-11ee-97a6-92fbcf53809c.png

deepin-IDE和VSCode有關(guān)聯(lián)嗎?

我們的回答是:

沒有關(guān)聯(lián)!deepin-IDE 就是純純的自研!

deepin-IDE根植于開源社區(qū),它依賴于 scintilla 等開源組件,本身也使用了 GPLv3 協(xié)議開源,當(dāng)然也要貢獻(xiàn)開源。和其它的基礎(chǔ)軟件一樣,IDE也需要多年的打造與完善,比如 VSCode 至今也發(fā)展了八年,所以開發(fā) IDE 確實難度巨大。 路雖遠(yuǎn),行則將至。事雖難,做則必成。我們也歡迎開源愛好者參與進(jìn)來,幫助它繼續(xù)成長!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2788

    瀏覽量

    50462
  • IDE
    IDE
    +關(guān)注

    關(guān)注

    0

    文章

    352

    瀏覽量

    47788
  • 管理器
    +關(guān)注

    關(guān)注

    0

    文章

    254

    瀏覽量

    19069
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70800

原文標(biāo)題:好多人問,必須正式介紹一下:deepin-IDE

文章出處:【微信號:linux_deepin,微信公眾號:深度操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    詳細(xì)介紹一下PSS+Pnoise仿真

    PSS+Pnoise仿真是很多電路要用到的仿真,今天我們詳細(xì)介紹一下這個仿真。
    的頭像 發(fā)表于 11-03 18:13 ?1.4w次閱讀
    詳細(xì)<b class='flag-5'>介紹</b><b class='flag-5'>一下</b>PSS+Pnoise仿真

    PDG閱讀器

    本帖最后由 gk320830 于 2015-3-6 01:33 編輯 我看到好多資料都是PDG格式的,但是好多人都沒辦法打開這種格式的文件,還看到好多人,就傳
    發(fā)表于 01-16 23:11

    那位師傅介紹一下這款原件,問了好多人都不知道是什么

    `那位師傅介紹一下這款原件`
    發(fā)表于 02-27 09:19

    一下,什么叫做報文的透明轉(zhuǎn)發(fā)啊

    一下,什么叫做報文的透明轉(zhuǎn)發(fā)啊 一下,什么叫做報文的透明轉(zhuǎn)發(fā)啊
    發(fā)表于 06-11 09:13

    畢業(yè)設(shè)計之開發(fā)板大pk

    現(xiàn)在好多人都在哪款板子好,哪款板子是主流,下面就讓大家起來評論一下,看看板子都有什么優(yōu)點,順便我也來挑選款適合自己的,我在讀大四,需要
    發(fā)表于 09-12 15:08

    labview加密解密文件

    本帖最后由 wang060102122 于 2017-9-8 14:50 編輯 論壇有位網(wǎng)友分布的加密和解密文件夾小程序,其中加密可以正常使用,解密有些問題,好多人都在跟帖如何解密。我把他的程序修改了
    發(fā)表于 09-08 14:45

    LABVIEW遠(yuǎn)程連接SQL SERVER,示例給大家參考

    最近有好多人連接遠(yuǎn)程數(shù)據(jù)庫的方法,我這有篇文章供你參考,相信你能得到啟發(fā)的,能不能找到有用的信息就看你的功力了
    發(fā)表于 04-03 21:06

    Arduino IDE上面開發(fā)NodeMCU

    雖然網(wǎng)絡(luò)上已經(jīng)有好多資源了,但我還是在這里記錄一下試驗過程……畢竟NodeMCU面世已經(jīng)5年左右了,那個年代是開源社區(qū)爆發(fā)的段時間。到現(xiàn)在,好多教程都比較古老了,不知讀者會不會覺得不
    發(fā)表于 10-28 11:36 ?1次下載
    Arduino <b class='flag-5'>IDE</b>上面開發(fā)NodeMCU

    PLC、DCS、SCAD系統(tǒng)比較

    現(xiàn)在工業(yè)控制中好多人對PLC、DCS、SCADA系統(tǒng)的概念比較混淆,搞不清楚,今天帶大家了解一下這幾個系統(tǒng)和概念。
    的頭像 發(fā)表于 12-29 17:32 ?5532次閱讀

    deepin WSL安裝教程

    看完《deepin V23成功適配WSL,我們做了什么?》,大家是不是迫不及待地想試試?接下來,我們簡單演示一下deepin WSL的安裝。
    的頭像 發(fā)表于 07-15 11:17 ?1630次閱讀
    <b class='flag-5'>deepin</b> WSL安裝教程

    deepin適配Apple M1的過程()

    在上篇中,我們介紹deepin適配M1的方案選擇以及方案介紹,讓大家了解了我們在適配前的些思路。本篇中,我們主要讓大家了解一下我們在適配
    的頭像 發(fā)表于 07-15 11:23 ?1530次閱讀
    <b class='flag-5'>deepin</b>適配Apple M1的過程(<b class='flag-5'>下</b>)

    什么是DAP協(xié)議?DAP如何工作?詳解deepin-IDE中的調(diào)試功能

    前不久深度科技旗下 deepin 社區(qū)發(fā)布了自己的 IDEdeepin-IDE,得到了全網(wǎng)用戶尤其是開源社區(qū)用戶的廣泛關(guān)注,目前在 GitHub倉庫的 star 數(shù)量已經(jīng)達(dá)到 600 多個,說明大家的熱情還是很高漲的。
    的頭像 發(fā)表于 11-10 16:46 ?6330次閱讀
    什么是DAP協(xié)議?DAP如何工作?詳解<b class='flag-5'>deepin-IDE</b>中的調(diào)試功能

    deepin-IDE舊貌換新顏:從Qt到DTK

    deepin-IDEDeepin Union Code)新版本現(xiàn)已推出,具體更新內(nèi)容如下
    的頭像 發(fā)表于 12-28 09:45 ?1391次閱讀
    <b class='flag-5'>deepin-IDE</b>舊貌換新顏:從Qt到DTK

    關(guān)于極限語言ε-δ的點理解

    好多人都是因為這個地方放棄數(shù)學(xué)的對吧?
    的頭像 發(fā)表于 03-11 14:25 ?2309次閱讀
    關(guān)于極限語言ε-δ的<b class='flag-5'>一</b>點理解

    利用deepin-IDE的AI能力實現(xiàn)文件加密擴(kuò)展

    經(jīng)過多輪迭代,deepin 文件管理器(dde-file-manager)的擴(kuò)展功能已經(jīng)趨于穩(wěn)定,看到越來越豐富的文管新功能,作為名技術(shù)愛好者,也想自己動手寫個插件擴(kuò)展一下文管的功能。 ? ? 我
    的頭像 發(fā)表于 12-30 09:22 ?660次閱讀
    利用<b class='flag-5'>deepin-IDE</b>的AI能力實現(xiàn)文件加密擴(kuò)展