菜单编辑器完全指南
这份文档讲清楚每一个菜单类型该怎么配、属性面板每个字段是什么意思,以及最容易困惑的显示规则。
刚装好、想先跑通一个菜单,请看使用说明;只想写脚本,请看脚本菜单。
一、界面
主窗口顶部有三个页签:右键菜单、状态栏菜单、插件管理。前两个都是菜单编辑器,用法完全一样,区别见第六节。
编辑器由三栏组成:
| 位置 | 是什么 | 你在这里做什么 |
|---|---|---|
| 左:模板库 | 所有可用的菜单模板 | 找到想要的功能,加到中间 |
| 中:你的菜单 | Finder 右键菜单的实际内容 | 排序、嵌套、删除 |
| 右:属性面板 | 选中项的所有设置 | 改标题、图标、显示条件、执行方式 |

三栏的分隔条都可以拖动调整宽度,退出后会记住。窗口本身也可以调整大小。
模板库有什么
左栏按功能分组,包含:
- 新建文件 — Markdown、Excel、AI、CSS 等各类空白文档模板
- 打开方式 — 用指定应用打开选中的文件
- 常用目录 — 一键跳转到下载、桌面、文稿等
- 复制到 / 移动到 — 把选中项送到常用位置
- 内置功能 — 复制路径、剪切文件、新建文件夹、复制文件名、粘贴图片为 PNG、计算总大小
- 脚本 — 现成的实用脚本,可以直接用也可以改
- 插件 — 已安装插件提供的菜单
顶部搜索框可以按名字过滤。
把菜单加进来
三种方式,效果一样:
- 从左栏拖到中间
- 双击左栏的模板,加到菜单末尾
- 在左栏模板上右键 → 添加到菜单

拖动时中间栏会出现一条蓝色横线,标出松手后菜单项会落在哪里。
从零新建(不用模板)
模板库里没有合适的,就在中间栏右键 → 添加,直接建一个空的:新建文件、复制到…、移动到…、打开文件夹、打开方式…、脚本、子菜单、分隔线。

新项落在哪里,取决于你右键的是什么:
| 右键的位置 | 新项落在 |
|---|---|
| 一个普通菜单项 | 它下面,成为同级 |
| 一个子菜单 | 它里面,排在末尾 |
| 空白处(且当前没有选中项) | 顶层末尾 |
在空白处右键不会取消已有的选中。如果之前选着某一项,新项照样落在那一项旁边——想加到顶层末尾,先在空白处点一下取消选中。
同一个右键菜单里还有「移除」和「重置」。「重置」只对来自模板库的项可用,自己建的项和分组是灰的。
排序、嵌套、删除
- 排序:在中间栏上下拖动
- 嵌套:拖到一个「子菜单」项上,就成为它的下级
- 新建子菜单:中间栏右键 → 添加 → 子菜单
- 删除:选中后按
Delete

两种拖放反馈要分清:
| 你看到的 | 松手后 |
|---|---|
| 蓝色横线 出现在两项之间 | 插到那个位置,成为同级 |
| 目标行整行高亮 | 放进那一项里面,成为它的下级 |
高亮的那一行上还会内联显示你正在拖的菜单项名字,确认目标没搞错。
改动什么时候生效
即时生效,没有保存按钮。 在属性面板里改完一个字段(输入框失去焦点、下拉框选完、勾选框点完),改动立刻写入并同步到 Finder。
改错了按 ⌘Z 撤销,⇧⌘Z 重做。
二、做出第一个菜单
以「用 Visual Studio Code 打开」为例,从零到能用:
- 在中间栏右键 → 添加 → 打开方式…
- 新建出来的项叫「打开方式…」,在右侧「基本」页把标题改成
用 VS Code 打开 - 往下找到打开方式配置:
- 打开方式选「应用名称」
- 目标填
Visual Studio Code(就是应用在「应用程序」里显示的名字,不含.app)
- 切到「显示」页,显示时机选「仅选中文件时」
- 完成。去 Finder 里右键任意文件试试
左栏模板库里有一整组配好的「使用 X 打开」,拖过来改个目标也能用。这里走右键新建, 是因为它把每个字段都留给你填——过一遍就知道它们分别管什么。

如果菜单没出现,看常见问题里的「右键菜单不显示?」。
三、菜单类型逐个说明
| 类型 | 干什么 | 必须填 |
|---|---|---|
| 新建文件 | 在当前目录建一个指定类型的空文件 | 文件模板 |
| 内置功能 | 执行一项内置操作 | 无 |
| 打开方式 | 用指定应用打开选中项 | 目标应用 |
| 打开文件夹 | 在 Finder 里打开指定目录 | 目标文件夹 |
| 复制到 / 移动到 | 把选中项复制/移动到指定目录 | 目标文件夹 |
| 脚本 | 执行自定义脚本 | 脚本内容 |
| 插件 | 调用插件提供的功能 | 无(由插件决定) |
| 子菜单 | 容器,用来收纳其它菜单项 | 无 |
| 分隔符 | 一条横线,用来分组 | 无 |
新建文件
在当前 Finder 目录创建一个新文件。
- 文件模板 — 决定新文件的初始内容。下拉里是所有已有模板(
Shell.sh、Markdown.md这类) - 目标扩展名 — 留空则用模板自带的扩展名;填了则覆盖它。例如模板是
Markdown.md,这里填mdx,创建出来就是.mdx。带不带开头的点都行,程序会自动补 - 创建后打开(在「执行」页)— 勾上则创建完立刻用默认应用打开
下方三个按钮:
| 按钮 | 作用 |
|---|---|
| 导入模板… | 挑一个现成文件存成模板。想要带页眉的 Word、配好的 .gitignore、有固定头部的脚本,都可以先做好一份再导进来。同名文件已存在会导入失败 |
| 在 Finder 中显示 | 打开模板文件夹。想直接改某个模板的内容就走这里 |
| 删除模板 | 删掉当前选中的模板文件,会先弹窗确认 |

内置功能
六个开箱即用的操作,不需要任何配置:
| 名称 | 作用 |
|---|---|
| 复制路径 | 把选中项的完整路径复制到剪贴板 |
| 复制文件名 | 只复制文件名(含扩展名) |
| 剪切文件 | 剪切,之后可在别处粘贴 |
| 新建文件夹 | 在当前目录建一个新文件夹 |
| 粘贴图片为 PNG | 把剪贴板里的图片存成当前目录下的 PNG |
| 计算总大小 | 算出选中项占用的总空间并显示 |
打开方式
用指定应用打开选中的文件。打开方式决定「目标」怎么填:
| 打开方式 | 目标填什么 | 例子 |
|---|---|---|
| 应用名称 | 应用在「应用程序」里的显示名,不含 .app |
Visual Studio Code |
| 应用标识 | Bundle ID | com.microsoft.VSCode |
| 应用路径 | 完整路径 | /Applications/Visual Studio Code.app |
| 系统服务 | 服务名(「服务」菜单里看到的那个) | Open in Terminal |
「目标」下面的「选择应用…」按钮可以直接从已安装的应用里挑,不用手打,也不会打错。
每个文件单独打开(在「执行」页)— 多选时,为每个文件各起一个独立实例。绝大多数应用不需要勾(它们自己能一次接收多个文件);给一次只能开一个文档的老程序用。选「系统服务」时这个选项不适用,会自动隐藏。
打开文件夹 / 复制到 / 移动到
三个都需要填目标文件夹,点右边按钮选目录即可。
- 打开文件夹 — 在 Finder 里打开这个目录,和选中了什么无关
- 复制到 / 移动到 — 把选中项送到这个目录
- 在 Finder 中显示(在「执行」页)— 勾上则操作完自动跳到目标目录并高亮结果
脚本
最灵活的一种。详见脚本菜单,这里只说属性面板上的三个字段:
- 解释器 — 用什么来跑这段脚本。可以填命令名(
bash、zsh、python3、node)或完整路径(/opt/homebrew/bin/python3) - 环境变量 — 每行一条
KEY=VALUE。留空则用系统默认。常见用途是补PATH:
PATH=/opt/homebrew/bin:/usr/local/bin
LANG=zh_CN.UTF-8
- 脚本内容 — 脚本正文。选中的文件路径以
$1、$2… 传入,工作目录自动设为当前 Finder 目录

注意这一页只有「脚本」类型才出现——上图的页签是基本 / 脚本 / 显示 / 执行 四个, 而前面那些截图里只有三个。
「解释器」和「环境变量」标题后面的 ⓘ 点开有即时说明,不用来回翻文档。
插件
由插件提供,标题和图标跟着插件走。属性面板顶部会显示「来自插件:<插件名>」,点「管理此插件…」可以跳到插件管理页。
你仍然可以给它单独设置显示规则和执行方式——这些是你的设置,不会被插件更新覆盖。
子菜单与分隔符
- 子菜单 — 纯容器。没有「显示」和「执行」页,因为它自己不做任何事
- 分隔符 — 一条横线。永远显示,不受任何规则影响
四、属性面板字段速查
属性面板最多有四个页签,按菜单类型显示:
| 页签 | 什么时候出现 |
|---|---|
| 基本 | 总是 |
| 脚本 | 仅「脚本」类型 |
| 显示 | 除「子菜单」和「分隔符」外都有 |
| 执行 | 除「子菜单」和「分隔符」外都有 |
基本
| 字段 | 说明 |
|---|---|
| 标题 | 菜单里显示的文字 |
| 类型 | 只读,显示这一项是什么菜单类型。类型在添加时就定了,之后不能改——想换类型就删掉重加 |
| 启用 | 关掉则这一项不出现在菜单里,但配置保留 |
| 显示图标 | 关掉则只显示文字 |
| 图标 | 点「选择图标…」可选内置图标或本地图片文件。本地图片会自动缩放到菜单尺寸,不用担心大图拖慢菜单 |
| 快捷键 | 仅状态栏菜单有。点一下输入框然后按组合键即可录入。右键菜单没有这一项——Finder 的右键菜单不接受自定义快捷键 |
显示
这是最需要理解的一页。 它决定「什么情况下这条菜单才出现」。
显示时机
一个四选一下拉,是所有规则的总开关:
| 选项 | 什么时候出现 |
|---|---|
| 总是显示 | 不管选中了什么、甚至什么都没选(在空白处右键)都出现 |
| 仅选中文件时 | 只在选中项里有文件、且文件满足下面的条件时出现 |
| 仅选中目录时 | 只在选中项里有目录、且目录满足下面的条件时出现 |
| 选中文件或目录时 | 文件条件或目录条件满足任一即出现 |
三个要点:
- 选「总是显示」时,下面的文件/目录条件全部不生效。 想按扩展名过滤,就不能选「总是显示」
- 在 Finder 空白处右键(什么都没选)时,只有「总是显示」的菜单会出现。 「复制路径」这类需要选中文件的菜单不会出现,这是正常的
- 文件条件和目录条件是「或」的关系,不是「且」。选「选中文件或目录时」,只要其中一边满足就显示
文件条件
| 字段 | 说明 |
|---|---|
| 名称匹配 | 三选一:不限制 / 扩展名 / 正则 |
| 模式列表 | 匹配用的模式,可以加多条,任一条命中即算匹配 |
| 需有执行权限 (+x) | 只对有可执行权限的文件显示。给「在终端运行」这类菜单用 |
| 最少 / 最多 | 选中文件的数量范围,0 表示不限制 |
扩展名怎么填:一次填一个,带不带开头的点、大小写都可以 —— jpg、.jpg、JPG、.JPG 都会被规范成 jpg,列表里统一显示成小写不带点的形式。重复添加同一个扩展名会被忽略。
点「+」弹出的输入框会根据你选的是「扩展名」还是「正则表达式」给出对应的说明和示例,照着填即可:

正则怎么用:对文件名(不含路径)做匹配,且是部分匹配——只要文件名里有一段能匹配上就算命中,不需要从头匹配到尾。例如 ^IMG_ 匹配所有以 IMG_ 开头的文件,\.tar\.gz$ 匹配 .tar.gz 结尾的。
数量限制有个容易误会的地方:最少/最多算的是经过前面条件过滤之后剩下的数量,不是你选中的总数。
举例:菜单设了「扩展名 = jpg」「最多 1」。你选中了 3 个文件,其中只有 1 个是 jpg。 过滤后剩 1 个 jpg,满足「最多 1」,菜单会显示。
目录条件
和文件条件一样,少了「需有执行权限」。
「名称匹配」这里的扩展名指的是目录本身的扩展名 —— macOS 上 .app、.xcodeproj、.bundle、.framework 这些其实都是目录。想让菜单只对 Xcode 工程出现,选「扩展名」填 xcodeproj 就行,不用写正则。

上图选的是「仅选中文件时」,所以下方「目录」整段是灰的 —— 显示时机是总开关, 没勾到的那一边,它的条件填了也不生效,界面直接禁用掉免得白填。
执行
| 字段 | 说明 |
|---|---|
| 权限 | 见下 |
| 需要确认 | 勾上则每次执行前弹窗问一次。给删除、覆盖这类不可逆操作用 |
| 提示方式 | 无 / 系统通知 / 显示结果 |
| 播放声音 | 勾上则执行完播一声,右边可以选音效(默认 Glass) |
另外还有三个只在特定类型下出现的勾选框,也在这一页:
| 字段 | 出现在 |
|---|---|
| 创建后打开 | 新建文件 |
| 每个文件单独打开 | 打开方式 |
| 在 Finder 中显示 | 复制到 / 移动到 |
权限三选一:
| 选项 | 行为 |
|---|---|
| 普通用户 | 以你的身份执行。绝大多数情况用这个 |
| 管理员 | 以 root 执行,首次需要输一次管理员密码 |
| 每次询问 | 每次执行时弹窗让你选这一次用哪种身份。仅对「脚本」类型有效 |
提示方式三选一:
| 选项 | 行为 |
|---|---|
| 无 | 静默执行 |
| 系统通知 | 执行完发一条系统通知 |
| 显示结果 | 弹窗显示脚本的输出。仅对「脚本」类型有效——其它类型没有「输出」可显示 |
五、显示规则组合速查
想让菜单在这些时候出现,照着设:
| 我想要 | 显示时机 | 其它设置 |
|---|---|---|
| 任何时候都能用(包括空白处右键) | 总是显示 | — |
| 只对图片 | 仅选中文件时 | 名称匹配=扩展名,填 jpg png gif heic webp |
| 只对单个文件 | 仅选中文件时 | 最少 1、最多 1 |
| 只对多个文件(批量操作) | 仅选中文件时 | 最少 2 |
| 只对文件夹 | 仅选中目录时 | — |
| 只对 Xcode 工程 | 仅选中目录时 | 名称匹配=扩展名,填 xcodeproj |
| 只对可执行文件 | 仅选中文件时 | 勾「需有执行权限 (+x)」 |
| 只对以 IMG_ 开头的文件 | 仅选中文件时 | 名称匹配=正则,填 ^IMG_ |
| 文件和文件夹都能用 | 选中文件或目录时 | — |
| 压缩包(含 .tar.gz) | 仅选中文件时 | 名称匹配=正则,填 \.(zip\|rar\|7z\|tar\.gz)$ |
六、状态栏菜单有什么不同
「状态栏菜单」页签的编辑器长得一样,但有三处差异:
1. 没有「显示」页。 状态栏菜单是从菜单栏图标点开的,那时候没有「选中的文件」这个概念, 所以文件/目录条件对它没有意义。属性面板只剩基本 / 执行两页(脚本类型会多一页「脚本」)。
2. 多了「快捷键」。 在「基本」页的「界面配置」下。点一下输入框然后按组合键即可录入, 按下快捷键直接执行,不用点开菜单。
3. 模板库只列不依赖选中文件的分组 —— 常用目录和插件。新建文件、打开方式、复制到 这些都要有选中的文件才有意义,所以不出现在这里。

想在状态栏放一段脚本,模板库里没有,走中间栏右键 → 添加 → 脚本。右键的「添加」 不受这个限制,8 种类型都给。
注意需要文件路径的脚本放在这里拿不到 $1 —— 状态栏菜单执行时没有”选中的文件”。
七、常见需求配方
把选中的图片批量转成 PNG
菜单类型:脚本
- 显示时机:仅选中文件时
- 名称匹配:扩展名 →
jpgjpegheicwebp - 解释器:
bash - 脚本内容:
for f in "$@"; do
sips -s format png "$f" --out "${f%.*}.png"
done
- 提示方式:系统通知
在当前目录打开终端
菜单类型:脚本
- 显示时机:总是显示
- 脚本内容:
open -a Terminal "$PWD"
把选中项收进「稍后整理」
菜单类型:移动到
- 显示时机:选中文件或目录时
- 目标文件夹:选一个你的暂存目录
- 勾「在 Finder 中显示」
只对单个大文件计算校验和
菜单类型:脚本
- 显示时机:仅选中文件时
- 最少 1、最多 1
- 脚本内容:
shasum -a 256 "$1" | pbcopy - 提示方式:系统通知
用管理员权限编辑系统配置
菜单类型:脚本
- 显示时机:仅选中文件时
- 权限:管理员
- 勾「需要确认」
- 脚本内容按需
八、恢复默认与排错
恢复默认
中间栏底部的「恢复默认」只动内置菜单:
- 被你删掉的内置菜单会恢复
- 被你改过的内置菜单(改名、排序、各项设置)会还原成出厂值
- 你自己添加的菜单、自建脚本、插件菜单全部原样保留
点下去会先弹窗确认。恢复之后撤销记录会被清空——那些记录指向的菜单项已经被重建,⌘Z 撤不回来了。
改了没反应
- 确认菜单项的「启用」是开的
- 确认「显示时机」和当前选中的东西对得上——最常见的原因是设了「仅选中文件时」却在空白处右键
- 确认名称匹配的模式写对了(扩展名不带点)
- 还是不行看常见问题
菜单太多找不到
用子菜单收纳,或把不常用的「启用」关掉——关掉的项配置还在,随时可以打开。