Skip to content

配置文件

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

必填:mainpreload 至少存在一个

插件渲染界面的入口文件,当该配置为空时,表示插件应用为模板插件应用

必须是一个相对于 plugin.json的相对路径,且只能是一个 .html 文件。

preload

类型:string

必填:mainpreload 至少存在一个

预加载脚本文件,这是一个关键文件,你可以在此文件内调用 uTools、 nodejs、 electron 提供的 api。查看更多关于 preload.js

类型: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 以后,已经被弃用。

配置案例

文本匹配

图片匹配

文件匹配

窗口匹配