创建第一个插件
从 Eidos 插件模板开始。 它包含可运行的页面、打开页面的命令、主题样式、测试和 GitHub Actions 工作流。 本教程会带你打开计数器、修改行为,再生成可安装的插件包。
需要 Node.js 22.12 及以上、npm、Git,以及支持插件 API 3.0.0 或更高版本 的 Eidos Lite。准备一个测试 Space。模板通过锁文件固定已发布的 SDK 和工具, 不需要克隆 Eidos 源码或另配开发服务器。
1. 创建自己的仓库
Section titled “1. 创建自己的仓库”打开模板仓库,点击
Use this template → Create a new repository,将新仓库命名为
my-eidos-plugin。随后克隆它;将 YOUR-NAME 换成自己的 GitHub 用户或组织名:
git clone https://github.com/YOUR-NAME/my-eidos-plugin.gitcd my-eidos-pluginnpm ciplugin.json 插件身份与贡献声明src/main.ts 页面界面src/extension.ts 打开页面的命令src/style.css 宿主主题样式test/plugin.test.ts 交互和清理测试.github/workflows/plugin.yml 检查、打包和发布工作流2. 设置插件身份
Section titled “2. 设置插件身份”在现有 plugin.json 中修改以下字段,保留其余声明:
| 字段 | 示例 |
|---|---|
id |
yourname.my-counter |
name |
我的计数器 |
description |
工作区中的简单计数器 |
views[0].title |
我的计数器 |
actions[0].title |
我的计数器:打开 |
ID 使用小写、以点分隔的命名空间。使用自己的前缀,分发后保持 ID 稳定。
保留贡献 ID main 和 open,命令与挂载位置会引用它们。
将 package.json 的 name 改为自己的项目名,运行
npm install --package-lock-only 更新锁文件。两个文件的 version 必须相同,
本次练习都保留为 0.1.0。requires.pluginApi 表示所需的最低 API;
只提高数字并不会获得能力。
3. 检查并打开页面
Section titled “3. 检查并打开页面”npm run typechecknpm testnpm run check三个命令分别检查 TypeScript、测试页面与命令的生命周期,以及验证声明和 Lite 兼容性。检查通过不代表真实宿主界面已经验证;接下来打开它:
- 在 Eidos Lite 中打开测试 Space,进入插件管理器。
- 选择 Load development source…,打开项目的
plugin.json。 - 查看声明,并为当前 Space 启用插件。
- 从导航打开 我的计数器,或按 Cmd/Ctrl+K 执行 我的计数器:打开。
页面会显示 Add one 按钮和数字 0。点击两次,数字应变成 2。 此模板未申请文件、网络、存储或后台权限;独立页面和命令面向 Lite, CLI Serve 不支持这两个入口。
4. 修改第一个功能
Section titled “4. 修改第一个功能”打开 src/main.ts。mount(ctx, root) 在宿主提供的容器中创建界面。
将标题和按钮文字改为自己的内容,再将 increment 改为每次加五:
const increment = () => { value += 5 count.textContent = String(value)}保存后,Lite 会重新编译和加载。计数器从 0 重新开始,点击一次应显示 5。 保留这个改动时,也要更新测试中的预期计数,再运行检查。
计数只存在于当前页面内存,关闭或重载页面后重置。ctx.subscriptions
在作用域关闭时清理监听器。src/extension.ts 注册 open 命令,并在命令调用
上下文中通过 ctx.capabilities.ui.navigate("main", "/") 打开页面。
编译失败时,Lite 会保留上一次可用界面。先根据错误修复源码,不能仅凭界面仍可见
就认为新代码已加载。样式通过 src/style.css 中的 --eidos-* 变量适配宿主主题。
5. 打包插件
Section titled “5. 打包插件”检查通过后运行:
npm run pack:plugin使用示例 ID 时,会生成:
dist/yourname.my-counter-0.1.0.eidos-plugindist/yourname.my-counter-0.1.0.eidos-plugin.sha256通过插件管理器安装此包,查看声明、启用并重新打开页面。开发加载是临时的; 安装插件包后,重启仍能使用该修订。
仓库的 Actions 工作流也会执行检查,并提供 plugin-package 构建产物。
推送匹配版本的 tag 后,只有检查通过才会创建 GitHub Release。
正式发布或提交市场目录前,请阅读开发与分发。