首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

真正自主研发的国产 IDE — deepin-IDE

前言

前段时间 国产 IDE 相关的话题被广泛讨论,特别是后续的事情大家都知道了。

那么为什么会对 国产 IDE 这么执着呢?

大致有如下原因:

国产硬件平台种类多、差异大、软件适配工作量大的难题亟需解决

国产 CPU 的多样性导致各自软件栈不统一,即使操作系统层面解决掉一部分架构差异问题,应用还是要适配调试,给软件开发带来了沉重负担

国产软件开发工具链能让软件全生命周期摆脱对国外软件的依赖

因为缺乏国产集成开发环境(IDE),很多应用软件开发厂商不得不重度依赖国外的集成开发环境,例如 VSCode、Visual Studio 等,这意味着软件开发的工具、标准、创意都在国外生态上,这也导致其市场份额占比变高

自研 IDE 是生态建设中非常重要的一环,也是开发者生态的集大成者,因此即便成熟的 IDE 已经有那么多,但是我们仍需要一个 国产 IDE。

而 deepin 发布了全球首款 自主研发、面向信创生态的集成开发环境 deepin-IDE,完成了从桌面操作系统根社区 deepin、商业发行版 UOS、到软件开发工具的国产基础软件生态闭环。

deepin-IDE 和 VS Code 有没有关联?

有前车之鉴,必然要先问一句:跟 VS Code 有没有关联?

deepin-IDE 是站在了巨人的肩膀上 — “开源社区”,为了避免重复造轮子,采用了一些开源终端组件、功能组件,并 自研代码14万余行。

以下是其使用的 开源成果:

代码公开仓库地址:

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

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

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

deepin-IDE 根植于开源社区,它依赖于 scintilla 等开源组件,本身也使用了 GPLv3 协议开源,当然也要贡献开源。

因此答案很明显 没有关联!deepin-IDE 就是纯纯的自研!

deepin-IDE 都有什么功能?

智能编辑器、高度可扩展的命令系统、工程管理、代码版本管理集成、构建管理系统、插件系统等都属于 IDE 常用功能,而 deepin-IDE 处理包含这些常用功能外,还支持 代码迁移、语义补全、语法高亮、重构支持、反向调试、低开销的实时性能分析工具 特色功能。

其目前其支持:

C++、C、java、python、javascript 五大类最常用编辑语言

内置语言服务器协议(LSP)、调试适配器协议(DAP)

支持主流版本控制系统 git、svn

支持常用构建工具 cmake、maven、ninja、gradle 等

版本管理

支持主流版本控制系统Git、SVN。

协议支持

语言支持

支持C++、C、java、python、javascript五大类常用编辑语言,支持常用构建工具CMake、Maven、Ninja、Gradle等。

低开销的实时性能分析工具

性能分析功能不足,导致程序优化难度大大增加,无法明确优化指向。

针对目前国产环境中程序运行效率普遍偏低的问题,需要开发新的性能分析方法,用来对程序运行性能进行分析,达到为用户查找性能瓶颈提供整体全面的统计分析数据的目的,提高其定位性能瓶颈的效率,最终提高集成开发环境的运行性能。

反向调试

反向调试系统通过进程执行历史回放、事件分类管理、时间轴管理等手段,进一步提升应用的调试效率和开发能力。

反向调试分系统分析程序资源消耗,分析处理器的性能指标,检测运行程序的周期性性能参数,为优化程序的整体结构提供参考,打造更为优质的程序提供帮助。

也是体现集成开发环境对于代码质量的检测体现,减少平台的整体资源消耗,找出系统性能瓶颈。

代码迁移

代码迁移分析子系统是deepin-IDE的一大亮点,可以辅助开发者将x86平台的Linux应用迁移到龙芯、飞腾等国产处理器架构,及统信UOS等国产操作系统上,使用该功能可以自动分析出需修改的代码内容,并给出代码迁移指导,降低迁移难度,提升迁移效率。

有什么产出?

deepin-IDE 已经在深度的部分应用上实现轻度使用,而这也是很重要的一步。

开发画板应用

深度画板应用(deepin-draw):https://github.com/linuxdeepin/deepin-draw

开发看图应用

深度看图应用(deepin-image-viewer):https://github.com/linuxdeepin/deepin-image-viewer

开发相册应用

深度相册应用(deepin-album):https://github.com/linuxdeepin/deepin-album

前路在何方?还需要做什么?

deepin-IDE 当前相比于其他成熟的 IDE 才刚起步,还有很多的地方需要完善:

请一个设计师

插件系统完善

低代码编程支持

支持软件包签名、上架应用商店

AI 功能的接入

DTK 等开发套件集成,文管、桌面、任务栏等插件模板接入

开发者平台接入

...

deepin-IDE 还存在一些 已知问题等待解决:

文件描述符占用过多导致崩溃

存在部分翻译缺失的问题

底部交互区暂不支持多页面

符号树解析精度不高

...

最后

正如大多数人所说的 deepin-IDE 使用开源代码一点问题都没有,因为开源的初衷就是共建共享,而且其本身也已经做了说明,这一点和那些打着 “自主研发” 但与实际迥然不同的 IDE 是完全不一样的。

我们支持自主研发、也希望国产 IDE 能够越来越好,同时期望 deepin-IDE 能够做得更好!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O9CiXDbBqLcggKO9_g5rZADg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券