Skip to content

右键菜单触发

盒子提供从右键菜单启动脚本的能力

声明 [bmscriptsbox.triggers.context_menu] 即可让脚本出现在右键菜单中,无需编码。用户使用右键菜单启动脚本时,盒子会根据声明自动注入选中的文件/文件夹路径及当前目录路径作为启动参数。


配置方式

toml
[bmscriptsbox.triggers.context_menu]
enabled = true
targets = ["files", "directory"]
filters = [".txt", ".md"]

字段说明

字段类型必填默认值说明
enabled布尔值false是否启用右键菜单
targets字符串数组菜单显示的位置
filters字符串数组[]文件扩展名白名单

targets 可选值

显示位置适用场景
"files"选中文件上右键处理文件的脚本
"directory"选中文件夹上右键处理文件夹的脚本
"background"文件夹空白处右键以当前目录为工作区

支持组合:targets = ["files", "background"] 表示文件上右键和空白处右键都会显示。

filters 规则

filters 仅在 targets 包含 "files" 时生效,采用白名单机制:

  • 只有所有选中文件的扩展名都匹配时,菜单才显示
  • 选中了不匹配的文件 → 菜单不出现,脚本也不运行
  • 空列表表示不限制扩展名
toml
# 只有选中的文件全是 .txt 或 .md 时,菜单才显示
filters = [".txt", ".md"]

需要排除某些类型、而非仅允许某些类型时,在脚本内部自行写过滤逻辑。


常见问题

Q:右键菜单没出现? A:按顺序检查:

  1. context_menu.enabled 是否为 true
  2. targets 是否包含你右键的位置
  3. 配了 filters 时,所有选中文件的扩展名都要匹配
  4. 安装后是否重启了资源管理器

相关文档

文档版本 0.3.0 · MIT License