创建 Theia 插件
创建你的第一个插件。举个例子,我们将注册一个显示“Hello world!”通知 Hello World 命令。本文将指导你完成所有必要的步骤。
Theia 的结构
插件与扩展
Theia 是一种可以扩展的IDE。你可能已经听说过扩展是一种定制IDE的方式。而插件是一种Theia最近新增的扩展模式。下面是产检和扩展之间的主要区别。
插件
支持:
- 代码隔离:插件代码在一个独立的进程里面,不会阻塞 Theia 的主进程。
- 在运行时加载,不需要重新编译整个 Theia IDE
- 减少编译时间
- 自包含。插件可以打包成一个单独的文件,随后直接加载。不需要额外从npmjs中获取依赖,等等。
简单的API
- 不需要学习任何整合和框架
- 单一入口,代码完成就可以看到 JsDoc 相关的调用
容易升级:theia 不同版本之间的 API 是向下兼容的
缺点:
需要坚持使用此预定义的API。 如果未通过API提供贡献点,则无法进行调整。 请注意,当前的API可以扩展为支持更多内容;-)
设计
一个 Theia 程序由一个为提供特定功能的一组组件、命令、处理函数组成。Theia 定义了允许插件定制 IDE 的运行时 API ,将其行为添加到应用程序的各个方面。
- 后端插件。如果你熟悉VS代码扩展,它非常接近。插件代码在服务器端自己的进程中运行。API会在用户的浏览器/UI上发送一些动作来注册新的命令,等等。所有回调都在服务器端专用进程上执行
- 前端插件。在这种情况下,回调是在UI/浏览器的工作线程中执行的。这些插件只被授权使用“浏览器兼容”模块。例如,不可能打开或写入文件,因为插件的所有代码都在浏览器端运行。但是,如果您确实希望在客户端上有一些东西以避免一些网络操作,那么这种方法是有用的。