可通过Automator创建快速操作、终端注册服务、BetterTouchTool注入右键、XtraFinder扩展或Launch Services提升菜单层级五种方式,在macOS右键菜单中添加“新建文本文档”或“新建Markdown文件”功能。

如果您在 macOS 系统中习惯使用右键菜单快速创建新文档,但发现原生系统未提供“新建文本文档”或“新建 Markdown 文件”等选项,则可通过扩展服务、自动化脚本或第三方工具实现该功能。以下是几种可行的实现方式:
一、使用 Automator 创建“新建文档”快速操作
Automator 是 macOS 自带的自动化工具,可创建服务(Service)并添加至右键菜单,支持指定文件夹内生成空白文档。
1、打开“Automator”应用,选择“快速操作”为文档类型。
2、在左侧操作库中搜索“运行 Shell 脚本”,将其拖入右侧工作流区域。
3、将“Shell”设置为“/bin/zsh”,“传递输入”设为“作为参数”,并在脚本框中粘贴以下内容:
touch "$1"/"新建文档.txt"
4、点击右上角“文件”→“存储”,命名为“新建文本文档”。
5、前往“系统设置”→“键盘”→“快捷键”→“快速操作”,找到刚保存的服务,勾选启用,并确认其已出现在访达右键菜单的“快速操作”子菜单中。
二、通过终端命令注册服务并绑定到右键菜单
macOS 支持通过编写 .workflow 文件并注册为系统服务,使新建动作直接显示在右键顶层菜单(需配合特定 plist 配置)。
1、在终端中执行:
mkdir -p ~/Library/Services/NewDocument.workflow/Contents
2、使用文本编辑器创建 Info.plist 文件,保存至 Contents 目录下,内容包含 NSHumanReadableName、NSServicesSupportedTypes 等键值对,明确声明支持“public.folder”类型。
3、在 Contents 目录中创建 MacOS 文件夹,并放入可执行脚本,脚本内调用 touch 命令生成 .txt 或 .md 文件,文件名含时间戳以避免覆盖。
4、赋予脚本可执行权限:
chmod +x ~/Library/Services/NewDocument.workflow/Contents/MacOS/newdoc
5、重启访达:
killall Finder
三、安装 QuickLook 插件配合右键增强工具
部分第三方工具(如 BetterTouchTool 或 PopClip)可劫持右键事件并注入自定义菜单项,无需修改系统服务目录,适合不熟悉终端操作的用户。
1、下载并安装 BetterTouchTool 官方应用。
2、启动后进入“Trackpad”或“Mouse”标签页,点击“Add New Gesture”。
3、选择触发动作为“Right Click”,再设定“Execute Apple Script”动作。
4、在脚本框中填入 AppleScript 代码:
tell application "Finder"
set theFolder to (get front window's target)
do shell script "touch " & quoted form of (POSIX path of theFolder) & "/新建文档_" & (do shell script "date +%s") & ".txt"
end tell
5、保存配置后,在任意访达窗口中按住 Control 键点击空白处即可触发新建动作。
四、使用第三方应用 XtraFinder 启用原生风格右键菜单扩展
XtraFinder 是一款老牌访达增强工具,提供“New File”菜单项,支持自定义模板、快捷键绑定及多格式预设。
1、访问 xtrafinder.net 下载最新版安装包。
2、安装完成后勾选“Enable XtraFinder”并重启访达。
3、进入 XtraFinder 设置面板,切换至“Features”页签,启用“New File”选项。
4、点击“Edit Templates”按钮,在弹出窗口中点击“+”号添加新模板,输入文件扩展名(如 .md)、MIME 类型(public.plain-text)及默认内容(如 "# 新建文档")。
5、关闭设置窗口,此后在访达任意文件夹空白处右键,即可看到“New File → Markdown Document”菜单项。
五、通过 Launch Services 手动注册服务并提升菜单层级
利用 macOS 的 Launch Services 数据库,可将自定义服务提升至右键菜单顶层(非“快速操作”子菜单),需修改 LSHandlers 配置并刷新数据库。
1、在 ~/Library/Services/ 下创建 NewFile.service,结构与标准 workflow 一致,包含 Contents/Info.plist 和 Contents/MacOS/script。
2、Info.plist 中添加 LSHandlerRank 键,值设为 “Owner”,确保优先级高于系统默认项。
3、在 Info.plist 的 NSMessage 项中指定接收消息为 “newFileInFolder”,并在脚本中解析 $1 获取目标路径。
4、执行命令刷新服务注册:
lsregister -f ~/Library/Services/NewFile.service
5、验证是否生效:在访达中右键空白处,检查“新建文档”是否直接显示在菜单第一层而非嵌套于子菜单中。










