Wox插件开发指南:Plugin.json文件规范详解
Wox 项目地址: https://gitcode.com/gh_mirrors/wox/wox
前言
Wox作为一款高效的启动器工具,其强大之处在于丰富的插件生态系统。作为插件开发者,理解plugin.json文件的规范是开发Wox插件的基础。本文将全面解析plugin.json文件的各项配置,帮助开发者快速掌握插件配置的核心要点。
Plugin.json基础配置
1. 核心必填字段
每个Wox插件都必须包含以下基础配置字段:
- Id:插件的唯一标识符,建议使用GUID格式确保全局唯一性
- Name:插件的显示名称,用户将在Wox界面中看到此名称
- Description:插件功能的简要描述,好的描述应包含使用示例
- Author:插件作者信息
- Version:遵循语义化版本规范(MAJOR.MINOR.PATCH)
- MinWoxVersion:插件支持的最低Wox版本
2. 运行环境配置
- Runtime:指定插件运行环境,目前支持:
- Dotnet:适用于.NET开发的插件
- Python:适用于Python脚本插件
- Nodejs:适用于Node.js环境插件
- EntryFile:插件入口文件路径,相对于插件根目录
- SupportedOS:支持的平台列表,可指定多个操作系统
3. 交互相关配置
- Icon:插件图标路径,建议使用相对路径
- TriggerKeywords:触发关键词数组,用户输入这些关键词时激活插件
- Commands:可选命令列表,用于扩展插件功能
高级设置规范
Wox提供了一套统一的设置规范,让不同语言的插件都能提供一致的用户配置体验。
1. 设置类型总览
当前支持6种设置类型:
| 类型 | 用途 | 示例场景 | |------------|--------------------------|--------------------------| | label | 纯文本显示 | 说明性文字 | | textbox | 文本输入框 | 路径配置、API密钥输入 | | checkbox | 复选框 | 功能开关选项 | | select | 下拉选择框 | 语言选择、主题选择 | | head | 分组标题 | 设置项分类 | | newline | 换行分隔 | 视觉分组 |
2. 常用设置项详解
文本输入框(textbox)
{
"Type": "textbox",
"Value": {
"Key": "APIKey",
"Label": "API密钥: ",
"Tooltip": "请输入您的服务API密钥",
"Suffix": " (可在控制台获取)"
}
}
- Key:保存配置时的键名
- Label:输入框前的标签文本
- Tooltip:鼠标悬停提示
- Suffix:输入框后的补充说明
下拉选择框(select)
{
"Type": "select",
"Value": {
"Key": "Theme",
"Options": [
{"Label": "浅色主题", "Value": "light"},
{"Label": "深色主题", "Value": "dark"}
]
}
}
- Options:选项数组,每个选项包含Label(显示文本)和Value(实际值)
3. 设置分组最佳实践
通过head和newline可以实现良好的设置项分组:
"Settings": [
{
"Type": "head",
"Value": "网络配置"
},
{
"Type": "textbox",
"Value": {
"Key": "ProxyAddress",
"Label": "代理地址:"
}
},
{
"Type": "newline"
},
{
"Type": "head",
"Value": "功能开关"
},
{
"Type": "checkbox",
"Value": {
"Key": "EnableCache",
"Label": "启用缓存"
}
}
]
开发建议
- 版本兼容性:明确指定MinWoxVersion,避免在不支持的版本上运行
- 图标规范:建议使用PNG格式,尺寸为64x64像素
- 触发关键词:选择简短易记的关键词,避免与其他插件冲突
- 设置项设计:合理分组,重要设置项放在前面
- 多平台支持:如果插件支持多平台,确保测试各平台的兼容性
结语
plugin.json文件是Wox插件的配置核心,良好的配置不仅能确保插件正常运行,还能提供优秀的用户体验。掌握这些规范后,开发者可以更专注于插件功能的实现,而无需担心基础配置问题。建议在实际开发中参考官方示例插件,遵循最佳实践来设计你的插件配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考