Appearance
配置文件
plugin.json
文件是插件的配置文件,它是最重要的一个文件,用来说明这个插件应用将如何与 uTools 集成。 每当你创建一个插件时,都需要从创建一个 plugin.json
文件开始。
配置文件格式
plugin.json 文件是一个标准的 JSON 文件,它的结构如下:
json
{
"main": "index.html",
"logo": "logo.png",
"features": [
{
"code": "hello",
"explain": "hello world",
"cmds": ["hello", "你好"]
}
]
}
基础字段说明
main
类型:
string
必填:
main
与preload
至少存在一个
插件渲染界面的入口文件,当该配置为空时,表示插件应用为模板插件应用。
必须是一个相对于 plugin.json
的相对路径,且只能是一个 .html
文件。
preload
类型:
string
必填:
main
与preload
至少存在一个
预加载脚本文件,这是一个关键文件,你可以在此文件内调用 uTools、 nodejs、 electron 提供的 api。查看更多关于 preload.js
logo
类型:
string
必填:是
插件的图标文件,必须为 .png
或 .jpg
插件支持的平台,默认为所有平台。
开发模式字段说明
development
类型:
object
必填:否
开发模式下插件的配置,对象的同名字段会会覆盖基础配置字段。
development.main
类型:
string
必填:否
开发模式下,插件的入口文件,与基础配置字段 main
字段相同,但是此处可以配置为一个 http
协议的地址(不推荐)。
注意
支持 http
协议的地址,是为了方便开发者配合前端框架或者各种构建工具的使用,请勿将基础字段 main
字段配置为 http
协议的地址。
插件设置字段说明
pluginSetting
类型:
object
必填:否
插件应用设置,可以配置一些插件在基座中的默认行为或者样式。
pluginSetting.single
类型:
boolean
必填:否
默认值:
true
是否单例,默认为 true
,表示插件在基座中只能存在一个实例。
提示
如何创建多个插件实例:通过将插件进入分离模式,然后再次通过主窗口创建插件实例。
pluginSetting.height
类型:
number
必填:否
最小值:
1
插件应用高度。可以通过 utools.setExpendHeight
动态修改,该项被设置后,用户则不能再调整高度。
插件功能字段说明
features
类型:
Array<object>
必填:是
最小长度:
1
features 描述了当 uTools 主输入框内容产生变化时,此插件应用是否显示在搜索结果列表中,一个插件应用可以有多个功能,一个功能可以提供多个命令供用户搜索。
features 的每个元素都是一个对象,对象中包含以下字段:
features.code
类型:
string
必填:是
功能的唯一标识,此字段的值必须唯一,否则会报错。
features.explain
类型:
string
必填:否
功能的详细描述,将在搜索列表对应位置中显示。
features.icon
类型:
string
必填:否
功能的图标,将在搜索列表、插件主窗口以及分离窗口等对应位置中显示。
支持 png、jpg、svg 格式。
features.mainPush
类型:
boolean
必填:否
是否向搜索面板推送信息。
features.cmds
类型:
Array<string|object>
必填:是
最小长度:
1
版本说明
uTools>=5.2.0 开始,必须配置至少一个可供直接打开的「功能指令」(未配置的插件,将无法被安装)
该功能下可响应的命令集,通过设置 cmds.type
字段可以支持 6 种类型:
text
: 指令类型。over
: 任意文本类型。img
: 图片类型。files
: 文件类型。regex
: 正则类型。window
: 窗口类型。
其中,text
类型无需独立设置 cmds.type
字段,只需要传递 string
类型的cmds
即可。
不同类型的命令集,有自己的配置字段,具体请参考 命令集配置。
features.mainHide
类型:
boolean
必填:否
版本:>=5.2.0
若配置为true
,打开该功能指令不主动显示搜索框
DANGER
platform
字段在 uTools 6 以后,已经被弃用。