插件目录名称
插件的目录名称就是插件的唯一ID,不能和其他插件冲突,名称只能用英文单词,不支持用空格分割。
package.json
所有的插件在根目录都要有一个package.json文件,该文件继承npm规范,并扩展了部分字段,以下列出各个字段的含义:
| 字段名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| name | String | 是 | 插件名称 |
| displayName | String | 是 | 用于展示在插件列表中的名称 |
| version | String | 是 | 插件版本号,检查升级时会用到 |
| engines | Object | 是 | 该Object的属性至少要包含HBuilderX,属性值为兼容的主版本号,如果HBuilderX的版本低于该版本,将会提示用户升级HBuilderX。例如:{“HBuilderX”:”^2.7.0”}。 |
| description | String | 是 | 简短的插件描述,不要超过30个字 |
| main | String | 否 | 插件代码入口文件,配置型插件可不填 |
| activationEvents | Array | 否 | 激活事件的列表,如为空,则表示该插件不会懒加载 |
| contributes | Object | 否 | 插件的配置扩展点 |
| extensionDependencies | Array | 否 | 该插件依赖的其他插件id |
示例
{"name": "helloworld","displayName":"简单的插件示例","description": "简单的插件示例,用于测试插件API","version": "1.0.0","publisher": "coder","engines": {"HBuilderX": "^2.7.0"},"categories": ["Other"],"main": "./extension","activationEvents": ["onCommand:extension.helloWorld","onView:extensions.treedemo"],"contributes": {},"extensionDependencies": ["foo1","bar1"],"dependencies": {}}
