跳转到主要内容

插件设置页(settingsPages)

插件经常需要提供自己的配置界面(开关、API Key、默认行为等)。与其把”设置”按钮散落在插件页面各处,不如把设置界面统一收进启动器:在「设置 → 插件 → 插件设置」里,左侧纵向 tab 逐插件列出,右侧就是该插件提供的设置界面。用户找得到、不会迷路。

快速开始

第 1 步:在 manifest.json 的 contributes.settingsPages 中声明设置页(.qplugin 包内 HTML 的相对路径):
第 2 步:在包内编写 dist/settings.html。它是一个普通 HTML 页面,与插件主页运行在完全相同的沙箱环境(iframe 沙箱 + 完整 __PLUGIN_API__ 桥 + 主题变量注入),用 getSettings / setSettings 读写插件自己的配置即可:
第 3 步:打包 .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 应用最新配置——设置页只负责写入,不会自动广播变更。