乐趣区

关于插件:OpenSumi-CLI-正式发布插件文档上新内容一览

在 OpenSumi 中,咱们提供了一个弱小的插件生态系统,在兼容 VS Code 插件 API 的同时,咱们也有着本人的 OpenSumi API 用于进一步拓展 IDE 界面及能力。

▲插件能力实现结构图

开发 VS Code 插件

在插件开发中,你能够遵循 VS Code 的开发模式,在 VS Code 内实现你的插件开发后,将实现的插件产物引入到基于 OpenSumi 搭建的 IDE 中应用,具体可参考 VS Code 插件文档 Extension Guides。

上面是一些罕用的示例及文档:

  • eclipse-theia/vscode-builtin-extensions —— 基于 VS Code 版本打包其内置插件的工程项目
  • microsoft/vscode-extension-samples —— VS Code 官网的插件 API 示例仓库
  • Extension Guides —— VS Code 插件开发向导文档
  • Your First Extension —— 疾速开始插件开发
  • Web Extensions —— 在 OpenSumi 中也反对了这类插件,在纯前端环境有着非常重要的作用

开发 OpenSumi 插件

OpenSumi 中存在着一部分仅能运行在基于 OpenSumi 开发的 IDE 之中,提供的能力包含但不限于:

  • 通过 React 技术栈进行视图的拓展定制
  • Toolbar 定制
  • Electron Webview 治理
  • 布局能力
  • 全视图的自定义渲染

一个残缺的 OpenSumi 插件目录构造如下:

.├── .gitignore          # git 疏忽目录├── README.md           # 插件阐明├── src    ├── extend        ├── browser     # 插件 Browser 端入口,提供 UI 定制能力        ├── node        # 插件 Node 端入口,提供本地环境运行能力        ├── worker      # 插件 Worker 端入口,提供 WebWorker 环境运行能力│   └── extension.ts    # 插件源码 (VS Code 插件入口)├── package.json        # Extension manifest├── tsconfig.json

目录阐明

src/extensions.ts 为 VS Code 插件入口,对于 VS Code 插件开发请参阅 Extension Guides。

src/extend 目录下为 OpenSumi 自有插件体系,蕴含 Browser/Node/Worker 端入口。

入口阐明

VS Code 插件在 OpenSumi 运行时会放弃与 VS Code 特定版本统一的行为,例如以后 2.23.0 版本兼容 VS Code 的插件 API 版本为 1.68.0。

Browser 端 反对通过 React 组件的形式在界面裸露的插槽中定制 UI,如果你的插件须要在界面注册 UI 组件,能够将其编写在 Browser 端。

Node 端 反对纯 Node 环境运行时,在 Node 端插件领有与 VS Code 插件统一的 API,同时还能够调用 OpenSumi 自有的插件 API,如果你的插件须要调用原生 Node.js 的 API 或运行一些本地工作,能够将其编写在 Node 端。

Worker 端 领有 WebWorker 环境运行时,如果你的插件蕴含一些计算量较大的工作,同时不须要本地能力,能够将其编写在 Worker 端。

不论是 VS Code 插件还是 Browser/Node/Worker 三端都是可选的,也就是说如果你只须要原生 VS Code 插件能力,则能够疏忽 extend 目录。同样如果你只须要 OpenSumi 插件三端之一的能力,也能够疏忽其余,仅须要批改大量的配置。

开始开发

OpenSumi 反对 Web/Electron 两种形式集成,插件零碎及其能力在两个平台下具备统一的体现。

开发插件时,你能够应用 @opensumi/cli 疾速在本地启动插件开发环境。

$ npm install @opensumi/cli -g

残缺内容请参考 疾速开始 文档,应用 OpenSumi CLI 疾速在本地搭建插件开发环境。

文档地址:https://opensumi.com/zh/docs/extension/quick-start

插件示例

除了下面提到的 VS Code Extension Samples,OpenSumi 也有本人的插件示例仓库 OpenSumi Extension Samples,蕴含了一些常见的插件示例代码。

插件市场

以后 OpenSumi 反对两种插件市场,如上面所示:

  • OpenTRS —— 蚂蚁团体凋谢的公共插件市场服务
  • OpenVSX —— Eclipse 基金会凋谢的公共插件市场服务(源码开源)

能够依据应用场景自在进行源的切换,见文档 自定义插件市场源。

👇欢送理解 OpenSumi,参加开源共建~

GitHub 地址:

github.com/opensumi

OpenSumi 官网:

opensumi.com/zh

扫二维码,退出 OpenSumi 社区交换: opensumi.com/zh/communit…

退出移动版