跳到主要内容

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

· 阅读需 22 分钟

现代化的 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

演示文稿



图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片





关于兆松:我们是一家专业做编译和仿真的初创公司,由前晶心科技研发副总王东华博士于 2019 年底创立。研发总监伍华林曾就职于晶心科技,S3 Graphics,Imagination,拥有 10 余年 CPU/GPU 编译器研发经验。



图片