插件设置页(settingsPages)
插件经常需要提供自己的配置界面(开关、API Key、默认行为等)。与其把”设置”按钮散落在插件页面各处,不如把设置界面统一收进启动器:在「设置 → 插件 → 插件设置」里,左侧纵向 tab 逐插件列出,右侧就是该插件提供的设置界面。用户找得到、不会迷路。快速开始
第 1 步:在manifest.json 的 contributes.settingsPages 中声明设置页(.qplugin 包内 HTML 的相对路径):
dist/settings.html。它是一个普通 HTML 页面,与插件主页运行在完全相同的沙箱环境(iframe 沙箱 + 完整 __PLUGIN_API__ 桥 + 主题变量注入),用 getSettings / setSettings 读写插件自己的配置即可:
.qplugin 安装并启用插件。「设置 → 插件 → 插件设置」会出现以插件名命名的 tab,打开即是你写的界面。
运行环境
- iframe 沙箱:
<iframe sandbox="allow-scripts">+ srcdoc 渲染,与主界面 DOM/CSS 隔离;__PLUGIN_API__全部方法可用(权限校验与插件页一致) - 主题跟随:启动器自动注入主题 CSS 变量(
--foreground/--background/--primary/--border等)与.p-*组件样式,明暗主题自动切换,无需自己处理 - 容器尺寸:右侧内容区高度约 560px,宽度自适应;页面超出时在自身内部滚动,根元素按 100% 高度布局即可
- 配置持久化:
getSettings/setSettings读写plugins/{插件id}/settings.json,setSettings按 key 合并(并发安全),无需一次性写整包
一键跳转到设置页
在插件页面 / 悬浮窗里提供”设置”按钮时,用openPluginSettings 跳转,启动器会自动打开「插件设置」并定位到本插件:
- 权限:
config:read - 目标插件未声明
settingsPages时仍会打开插件设置区(停留在默认位置) - 同插件声明多个设置页时定位到第一个
规则与生命周期
插件配置的读取方(如小组件、悬浮窗)在自身运行时也应调用
getSettings 应用最新配置——设置页只负责写入,不会自动广播变更。