Skip to content

manifest

manifest.json 是每个 Pixso 插件都必须包含的文件。文件中定义了插件的各种重要信息。

以下是 manifest.json 内容示例:

json
{
  "name": "pixso-plugin",
  "id": "123456",
  "editorType": ["pixso"],
  "main": "./main.js",
  "ui": "./ui.html",
  "menu": [
    {
      "name": "主入口",
      "command": "main"
    },
    {
      "name": "测试",
      "command": "test"
    }
  ]
}
// 注:示例只展示部分配置字段,完整配置字段请看下面内容

name

  • Type: name: string

插件的名称

id

  • Type: id: string

插件 id,通常不需要手动指定,在发布插件的时候,会生成一个不重复的 ID 值。在插件开发调试场景下,需要设置一个类型为字符串的 id,以便调试部分使用插件 id 做数据隔离的 API 功能。

editorType

  • Type: editorType: Array<"pixso" | "dev" | "historyDev" | "singleFrame">

用于指定当前插件支持运行的模式,一个插件可支持多个模式(Pixso2.0 新特性),具体模式的定义如下:

  • "pixso":编辑模式
  • "dev":研发模式
  • "historyDev":历史研发模式
  • "singleFrame":单画板模式

若未指定 editorType, 则默认为编辑模式下的插件。

Pixso 的插件列表中,只会显示支持当前模式下运行的插件;

main

  • Type: main: string

main的取值需要是一个相对路径,用来指定运行在插件沙箱环境里的 JS 脚本。

ui

  • Type: ui: string

main类似,用来指定用户界面要加载的 HTML 文件路径。

  • Type: menu?: ManifestMenuItem[]

menu 选项是一个 json 数组,设置 menu 可以为插件添加子菜单入口,以便创建多个命令入口。在运行时会触发插件的 run 事件,其参数为选中的菜单中设置 command 值,也可以通过 pixso.command 获取该值。

typescript
type ManifestMenuItem =
  | { name: string; command: string }
  | { name: string; menu: ManifestMenuItem[] }
  | { separator: true };

relaunchButtons

  • Type: relaunchButtons?: ManifestRelaunchButton[]

relaunchButtons 用于配置插件的重启按钮,在 pixso 中会展示在右侧的插件面板中。需要注意的是,重启按钮的展示需要配合setRelaunchData API 使用。

typescript
type ManifestRelaunchButton = {
  command: string;
  name: string;
  multipleSelection?: boolean;
};
  • command: 一个命令属性,指定按下按钮后运行插件时,可以通过 pixso.command 拿到运行命令的值。
  • name: 重启按钮的名称。
  • multipleSelection: 默认为 false, 表示仅在单选节点时才会出现重启按钮;设为 true 之后,表示允许在多选节点时显示重启按钮。

目前插件在本地开发调试下暂未接入 relaunchButtons 的调试功能,需要发布插件后才能正常使用。相应的调试功能待后续完善。