# 插件清单(package.json)

ASG.Director 插件本质上是一个放在插件目录下的 Node.js 包。插件目录内必须包含 package.json,用于描述插件元数据与入口文件。

# 最小可用示例

{
  "name": "demo-hello",
  "displayName": "示例:Hello",
  "version": "0.1.0",
  "description": "我的第一个 ASG.Director 插件",
  "main": "index.js",
  "engines": {
    "asg-director": ">=1.4.0"
  },
  "activationEvents": ["onStartup"],
  "contributes": {
    "commands": [
      {
        "command": "demoHello.sayHello",
        "title": "示例:打个招呼"
      }
    ]
  }
}

# 字段说明

  • name

    • 插件的 唯一 ID(也会作为插件目录名常用约定)。
    • 建议使用 作者-插件名组织-插件名 的形式,避免冲突。
  • displayName

    • 在插件管理器里展示给用户看的名字。
  • version

    • 插件版本号(推荐语义化版本 SemVer)。
  • description / author

    • 用于在插件管理器/商店中展示。
  • main

    • 插件入口 JS 文件,相对于插件目录。
  • engines.asg-director

    • 声明插件兼容的 ASG.Director 版本范围。
  • activationEvents

    • 预留字段(类似 VS Code 的 activationEvents)。
    • 当前版本会在启动时激活所有“已启用插件”,因此这里写 onStartup 最直观。
  • contributes

    • 主要是“声明式元数据”(用于展示/索引)。
    • 例如 contributes.commands:用于描述插件提供哪些命令。
    • 注意:即使在 contributes 里声明了命令,你仍然需要在 activate() 里通过 API 注册命令处理函数(见 插件 API)。