云端IDE基础框架介绍—Eclipse Theia

现代化的IDE们各显所长, Visual Studio Code是其中能兼顾各项功能的全能IDE。而Eclipse Theia则站在VS Code的肩膀上看世界,以VS Code为基础定义了一套兼顾云端和桌面的全新IDE基础框架。

从绘制流程图打卡编程,到文本编辑器结合终端编译,集成开发环境(IDE)的出现将人们从重复而繁琐的工具切换中彻底解放出来。 随着技术的发展,不断进化的现代化IDE们在囊括了语法高亮、智能提示、自动补全等IDE基础功能的同时,还各自实现了特有的面向对象等高级图形化视图,而Visual Studio Code则综合了其中各项功能,成为独占市场半壁江山的集大成者。

VS Code主张用户以插件形式扩展其功能,并不建议用户修改其源码来构造自己的定制化IDE,其社区也不为用户进行源码修改提供技术支持。同开源届其他大型项目的开发者一样,VS Code也持有一种源码都放出来了还要啥文档自行车的傲娇。所以作为一个有70万行代码的大型成熟项目,对于一个想要入手做二次开发,以构建自己的定制化IDE产品的开发者来说,修改其源码如同要在没有指导手册的情况下,给一辆汽车更换零件,步骤包括但不限于:先得自己摸索汽车的结构划分,找准模块再对该区域的所有零件进行细致的功能分析,分析完毕才能尝试更换,当然还得做更换后的测试,出错时的调试等。整个过程对于一位老手来说或许可以借鉴自己曾经面对其他汽车(框架)的经验来缩短所需时间,但在新人看来这辆汽车本身就是一本移动的劝退指南。

Eclipse Theia也洞悉了这一点,正所谓重复造轮子不如站在巨人肩膀上看世界,Eclipse Theia作为IDE基础框架,汲取了VS Code的优秀架构设计理念,融合了VS Code DAP/LSP技术及其插件系统,同时重新模块化其代码,针对每个模块提供细致的功能说明文档,并在社区提供源码阅读和修改的技术支持,以此来协助用户构建一套全新的兼顾云端和桌面的定制化IDE产品。

本文简单介绍了VS Code的源码结构和技术架构,以及VS Code中的革新式技术——Debug Adapter Protocol和Language Server Protocol。并着重分析了Theia如何在VS Code基础上重新组织其源码,使其能更好地扩展,以及如何在Theia中定义一个自己的模块。

作为案例,本文还对兆松科技基于Eclipse Theia定制化的IDE——ZStudio进行了简短介绍,ZStudio集成了兆松科技自研发的基础工具链(编译器、仿真器、调试器),以及高级工具如源码运行时间分析工具、C/C++二进制文件反汇编控制流程分析工具、C/C++车规安全检测工具等,为用户提供一整套的嵌入式软件开发解决方案。另外还有兆松科技针对异构SoC的软件栈提供的全套RISC-V工具链解决方案中Electronic System Level可视化编辑工具正在路上,敬请期待!

文后B站视频和PPT是兆松团队的林畅参加OSDT 2021所分享的关于云端IDE基础框架的详细内容。

OSDTConf2021视频:

OSDTConf2021演示文稿:

发表评论

您的电子邮箱地址不会被公开。