deepin-IDE内部开发两年多了,你说的人家是指微软的vscode吧?
鸿蒙内部开发十几年了,就是没拿出来用。一个意思
deepin-IDE内部开发两年多了,你说的人家是指微软的vscode吧?
鸿蒙内部开发十几年了,就是没拿出来用。一个意思
说一下我们的需求:
1、国内访问github网站太慢了,希望fork一份到码云上;
2、早日打包成deb和rmp包吧,方便安装;
3、希望出份pdf格式的教程,虽然wiki上也可以学,但是pdf格式的更加系统些,也更方便使用。
gitee,可以快速访问。
体验了一下,java 开发还是半成品,只有新建,重命名都没有,运行还是存在乱码跑不起来
争取早日,hello word!😂
java语言有些依赖没在仓库,所以部分功能缺失,最全的是C/C++
后续能支持go吗
先装为敬,另外问下能不能开发一个支持shell 脚本的插件,运维需要这个呀。
居然没有Rust。。。。。
有道理,支持rust的话就完美了
如果可能的化,完全支持兼容VScode的插件,省的重复开发
好主意!!
我比较关心的是需不需要注册用户,需不需要开通VIP,项目代码是在本地的还是深度云服务器上的。如果在云上,云又怎么收费?不是VIP会不会限速,或者限制代码字数?被“国产”软件整怕了。
deepin-ide 名字有些局限性,感觉只能在deepin或者统信系统中用,后期可以改一个大气的名字,贡献给整个开源界,让别人瞧瞧我们的大气
D-ide?
缺失依赖包,安装不上😂
仓库中存在的依赖包
libcapstone3 4.0.1+really+3.0.5-2+b1
libqt5script5 5.15.7-1+dde
libqt5scripttools5 5.15.7-1+dde
仓库中缺失的依赖包
libclang1-7:amd64 1:5.0+rc1
libdwarf++0:amd64 0.2
libelf++0:amd64 0.2
libjson-c3:amd64 0.11
libjsoncpp1:amd64 1.7.4
能支持Windows不呢
老大,期待支持一下FreePascal语言啊,我们也想做点贡献
缺失依赖包,安装不上😂
仓库中存在的依赖包
libcapstone3 4.0.1+really+3.0.5-2+b1
libqt5script5 5.15.7-1+dde
libqt5scripttools5 5.15.7-1+dde
仓库中缺失的依赖包
libclang1-7:amd64 1:5.0+rc1
libdwarf++0:amd64 0.2
libelf++0:amd64 0.2
libjson-c3:amd64 0.11
libjsoncpp1:amd64 1.7.4
目前安装测试的系统版本还比较少,确实会出现依赖问题,团队正在跟进处理
VSCode、Visual Studio
有啥 区别呢
目前安装测试的系统版本还比较少,确实会出现依赖问题,团队正在跟进处理
要是系统会自己搜索缺失的依赖包来自行安装就方便了.
我已经把它投稿到星火应用商店了。
铁子,你倒是官网提供一个exe下载安装包啊!我和idea比较一番也行
总有种人家出啥你出啥的感觉,我觉得开辟新赛道才能战胜对手,一直跟在别人后面很难弯道超车。
我觉得主要是用户能用得爽就行了,普通用户也不是太会关心内置AI,异构兼容这些前沿功能,除非这些功能的引入能让用户觉得用得比以前更舒心很多。
因为众所周知的原因,最近很多人都在讨论国产 IDE,咱们deepin社区有的同学就会发出疑问:
深度科技(deepin) 有自己的 IDE 吗?
正当网友们热议的时候,deepin社区论坛上很快就出现一篇帖子,内容是关于 deepin-IDE 的使用手册,此贴一出立即炸出很多正在勤奋搬砖的小伙伴:
当然,也会有人紧跟时事发出灵魂一问:
为了消除大家的疑问,本文就做一个正式回答,同时也顺带介绍一下深度自己的 IDE。
为什么要做自己的IDE?
从操作系统角度来说,要构建繁荣的生态环境,需要丰富和完善的基软件体系。开发库、封包格式、开发工具以及开发者支持,是逐步完善发展的过程。
开发库:
在开发库方面,deepin操作系统已经拥有了自己的DTK(Development ToolKit)开发套件。具备4个核心模块、220+个类、2300+函数接口;11个辅助功能模块、10+个扩展接口模块;已经能够满足日常图形应用、业务应用、系统定制应用的开发需求。目前 deepin 操作系统上自研的浏览器、音乐、邮件等 40 余款原生应用全部使用 DTK 开发。
DTK:https://github.com/linuxdeepin/dtk
封包格式:
封包格式源于Linux系统的软件包管理器,例如 apt、up2date、 yum、portage 和 pacman 等。包管理器的多样性给用户带来了更多选择,但缺点也十分显著:它们的软件包无法互通。深度操作系统为了解决“一包多用”的问题,诞生了“玲珑”软件包管理方案。
而彻底解决系统与应用、应用与应用之间因升级引起的兼容性问题。Linglong:https://github.com/linuxdeepin/linglong
“玲珑“打包商店:https://store.linglong.dev/
开发工具:
在开发工具层面,成熟的 IDE 数不胜数,例如 VSCode、Visual Studio、QtCreator 等,这些成熟IDE都有一些共性,比如良好的扩展性,美观的界面和较强的易用性,最重要的是对应的生态都已经非常完善。但痛点在于,我们还没有自研的IDE工具。自研 IDE 是生态建设中非常重要的一环,也是开发者生态的集大成者。
首先,自研 IDE可以提供DTK、各种二开接口的开发支持,开发者可以基于开发库开发出对应业务功能的应用。其次,为了用上“玲珑”这样的好东西,自研 IDE 可以默认提供“玲珑”打包格式,一次打包即可覆盖全 Linux 生态环境。最后,为了便于开发者交流,增强社区活性,自研 IDE 可以集成开发者平台,使开发者汇聚在一起交流开发经验。由此看来,自研 IDE 势在必行!
按照deepin团队说干就干的风格,经过多年时间研发,deepin-IDE 就破壳了,它的最终目标就是将上述分散的内容整合到一起,形成一个高度统一、开放自由、资源丰富的生态建设利器。
deepin-IDE当前完成情况如何?
deepin-IDE 并不是突然冒出来的,在内部已经开发了多年时间,为什么一直都默默无闻呢?因为这期间都在不断完善特色功能,并攻克一些技术难题,还没有达到非常完善的地步。同时因为设计人员没有参与,所以整个界面由研发人员“原生”设计,非常时(朴)尚(素),至于好不好看呢,文末有功能界面预览图,大家看了再说。
首先带大家看看deepin-IDE的整体架构:
架构介绍
总体采用基于模块化框架开发,支持 C/C++、Java、Python等多种编程语言,每一种开发语言均是以插件的方式接入。模块化设计一方面可以缩短产品研发与制造周期,增加产品系列,提高产品质量,快速应对市场变化;另一方面,也可以减少或消除对环境的不利影响,方便重用、升级、维修和独立卸载。其整体结构设计如下图所示:
如上图所示,带颜色的模块均和特定的语言相关,对应通信中间件用的是 LSP(Language Server Protocol) 语言服务协议,可以基于该协议实现语法高亮、符号树、语法树等功能;调试相关的用的是 DAP(Debug Adapter Protocol) 调试适配协议,可以基于该协议实现被调试程序的启动、运行、断点命中、单步跳入、单步跳出等常用调试功能。通过中间协议的适配,解耦了语言业务功能与实际功能提供者的依赖,让语言扩展变得可行。
为了进一步提高扩展性,前、后端均以插件方式实现。在前端通过接入一个新的语言插件来实现新语言的扩展,该插件用于实现语言相关的、特殊的业务逻辑,不用编写全量的代码,从而减轻了语言插件的代码负担。在后端,通过插件方式可以更容易接入一个语言服务提供者。
根据上述描述,将语言相关的顶层数据流图绘制如下:
功能介绍
deepin-IDE除了包含IDE常用功能,如智能编辑器、高度可扩展的命令系统、工程管理、构建管理系统、插件系统等之外,还支持多种兼容协议、多种开发语言、代码版本管理集成、低开销的实时性能分析工具等。总体而言,IDE常见功能都在表里
版本管理
支持主流版本控制系统Git、SVN。
协议支持
语言支持
支持C++、C、java、pytho*五大类常用编辑语言,支持常用构建工具CMake、Maven、Ninja、Gradle 等。
除了上述常见功能,deepin-IDE还包含一些特有功能,例如反向调试、代码迁移等。
反向调试
该功能通过进程执行历史回放、事件分类管理、时间轴管理等手段,进一步提升应用的调试效率和开发能力。
代码迁移
代码迁移分析子系统是deepin-IDE的一大亮点,可以辅助开发者将x86 平台的 Linux 应用迁移到龙芯、飞腾等国产处理器架构,及统信UOS等国产操作系统上,使用该功能可以自动分析出需修改的代码内容,并给出代码迁移指导,降低迁移难度,提升迁移效率。
功能界面预览
谁在使用 deepin-IDE ?
deepin-IDE 已经在深度的部分应用上轻度使用,以下罗列了部分:
开发画板应用:
开发看图应用:
开发相册应用
deepin-IDE 将来会如何发展?
IDE 是一个非常宏大的话题,deepin-IDE 当前相比于其他成熟的IDE才刚起步,还有很多需要完善的地方:
deepin-IDE还存在一些已知问题待解决:
deepin-IDE 开源吗?
deepin-IDE传承了deepin “专注自研,贡献开源” 的技术基因,自研代码14万余行。当然,这一产品的快速发展,是站在了“开源”这个巨人的肩膀上,为了避免重复造轮子,采用了一些开源终端组件、功能组件,在此列出该产品汲取的开源成果,感谢开源社区!
代码公开地址,欢迎大家积极参与到 deepin-IDE 的研发:
仓库地址:
下载链接:
讲到这里,正好可以回答一下本文开头社友的问题:
deepin-IDE 和 VSCode 有关联吗?
我们的回答是:没有关联!!
deepin-IDE根植于开源社区,它依赖于scintilla等开源组件,本身也使用了GPLv3协议开源,当然也要贡献开源。和其它的基础软件一样,IDE也需要多年的打造与完善,比如 VSCode 至今也发展了八年,所以开发IDE确实不简单,不过任何事总要做才可能成,我们也欢迎开源爱好者来给我们提 issue 和 PR,帮助它继续成长!
如何参与deepin社区建设
尊重开源,拥抱开源,贡献开源!