BetterMenu 是一款功能强大的 macOS 右键菜单增强工具,让 macOS 的右键菜单像 Windows 一样高效好用。
- 📂 快速新建文件:
- 支持快捷新建
txt、md、docx、xlsx、pptx、py、html、sh等文件。 - 支持自定义新建文件的后缀扩展名,灵活扩展。
- 支持快捷新建
- 💻 快速在终端/编辑器中打开:
- 支持常用终端一键拉起:系统自带 Terminal、iTerm2、Ghostty、cmux、Warp、WezTerm、Alacritty、Hyper、Kitty。
- 支持主流代码编辑器一键拉起:VS Code、Cursor、OpenAI Codex、Xcode、Sublime Text、IntelliJ IDEA、WebStorm、PyCharm、Android Studio、CotEditor。
- 📋 一键复制路径:
- 快速复制当前访达目录或选中文件的绝对路径。
- 📤 发送文件到其他设备:
- 右键选中的文件或文件夹,可通过隔空投送发送到附近的 Mac、iPhone 或 iPad。
- 支持直接复制到已挂载且可写的移动硬盘、U 盘和网络共享卷,并支持一次发送多个项目。
- 复制时显示文件数量、字节进度并支持随时取消;目标位置存在同名项目时自动生成不冲突的文件名,完成后在访达中定位结果。
- ⚙️ SwiftUI 设置面板与状态栏菜单:
- 现代化、清爽的设置界面,支持调整右键菜单项的启用状态与排序,即时同步生效。
- 支持通过系统状态栏菜单快速调起面板、重启 Finder 访达、或退出软件。
您可以前往 GitHub Releases 页面下载最新版本的安装包(或直接点击 最新版本下载)。
下载安装包后,若遇到“无法打开,因为无法确认开发者身份”或“无法验证”提示,请按以下方式解决:
直接在终端运行以下命令移除隔离属性:
xattr -cr /Applications/BetterMenu.app由于 macOS 的安全策略,您需要手动为本软件授予 Finder 扩展权限,右键菜单方可生效:
- 打开 系统设置 (System Settings)。
- 导航至 隐私与安全性 (Privacy & Security) -> 扩展 (Extensions) -> Finder 扩展 (Finder Extensions)。
- 勾选启用 BetterMenu。
- 操作系统:macOS 15.0 或更高版本
- 开发工具:Xcode 16.0+
- Swift 语言模式:Swift 6.0+
在本地克隆代码后,可通过项目内提供的脚本进行便捷的构建与管理。
编译、运行主 App 并自动注册 Finder Sync 扩展:
./script/build_and_run.sh run该脚本默认使用增量编译,日常改动只重新编译受影响的文件。需要全量重建时追加 --clean,需要一并清空运行缓存时追加 --clean-cache;./script/build_and_run.sh clean 会同时清理两者。
清理 App 运行缓存后启动:
./script/build_and_run.sh --clean-cache run同时清理 DerivedData 构建缓存和 App 运行缓存后启动:
./script/build_and_run.sh --clean --clean-cache run只清理两类缓存、不启动 App:
./script/build_and_run.sh clean如果只需重新注册 Finder Sync 扩展,可执行:
./script/build_and_run.sh register提交前统一代码排版(规则见 .swift-format,swift-format 随 Xcode 提供):
./script/build_and_run.sh format # 就地格式化
./script/build_and_run.sh lint # 仅检查,CI 使用同一规则生成生产环境发布包(DMG/ZIP):
./script/package.sh单元测试使用无宿主测试 Target,不会构建或注册 Finder Sync 扩展。开发脚本会在重新构建或清理当前项目的固定 DerivedData 前注销其中的开发扩展,package.sh 会在打包完成时注销对应的临时 Release 产物;脚本不会处理其他 DerivedData 或临时目录中的 BetterMenu 注册。
如果您打算贡献代码或想深入了解 BetterMenu 的内部机制,请参阅: 👉 BetterMenu 开发与架构指南 (DEVELOPMENT.md)
- 传输体验:复制文件到移动硬盘、U 盘或网络共享卷时显示实时字节进度、项目数量和当前文件,并支持复制过程中取消任务。
- 复制可靠性:取消或失败后自动清理未完成的目标文件,同时保留已经成功复制的项目。
- 测试完善:新增文件创建与传输核心服务测试,覆盖内容写入、可执行权限、重名处理、目录复制、进度回调、取消和路径边界。
- 开发环境:单元测试不再构建 Finder Sync 扩展,开发清理与 Release 打包会自动注销临时扩展,避免系统设置积累重复条目。
- 结构重构:整理并优化项目的文件组织结构,将源文件分类整理至 Models、Services 和 Views 目录中,提升代码可读性与可维护性。
- 稳定性修复:修复了系统重启后会自动打开主界面的问题。
- 功能增强:全面支持第三方终端一键拉起,包括 iTerm2、Ghostty、cmux、Warp、WezTerm、Alacritty、Hyper、Kitty。
- 缓存优化:优化应用启动加载顺序,修复由于图标加载可能导致的启动卡顿问题。
- UI 优化:修复设置页面右侧滚动条外侧异常白边问题,使 GlassBackground 毛玻璃背景完美贴合窗口边缘。
- 功能增强:支持右键直接对单个文件执行“在外部应用中打开”操作。
- 稳定性修复:优化终端拉起 AppleScript 脚本逻辑,解决在终端未启动时会偶发开启两个窗口(一个默认窗口、一个执行
cd窗口)的问题。 - 线程安全:修复
ExternalAppLauncher中拉起外部应用时的并发线程安全隐患,将 App 激活逻辑分发至主线程执行。
- 多语言:添加 English 与 简体中文(Info.plist)多语言本地化支持。
- 构建优化:优化 CI 自动化构建脚本,整合 Sparkle 自动更新框架。
本项目在设计与开发过程中借鉴了以下优秀开源项目,在此表示衷心的感谢:
- QuickDoc:为本项目提供了菜单构建与功能设计上的灵感与借鉴。
本项目基于 MIT License 许可协议开源。





