我做了一款开源 macOS 效率神器 SnapClick:截图、录屏、取色、贴图、Finder 右键增强一站搞定(v0.1.3-beta 已发布)
关键词:macOS 截图工具、macOS 录屏工具、屏幕取色、贴图便签、Finder 右键增强、Swift、SwiftUI、AppKit、开源、原生应用
一、写在前面:我为什么又造了一个轮子?
作为一个长期混迹 macOS 的开发者,我每天都要跟以下场景打交道:
- 写文档要截图(区域、窗口、整屏、长截图都得来一下)
- 录课程演示、Bug 复现要录屏
- UI 还原要取色
- 看资料要贴在桌面上对照
- 在访达里频繁要新建文件、复制路径、打开终端
试过一圈付费工具(你懂的),要么订阅制吃相难看,要么功能割裂得像拼夕夕。于是我用 Swift + SwiftUI + AppKit 撸了一款完全免费、开源、原生的 macOS 效率工具——SnapClick。
主打一个:菜单栏一颗图标,截图 / 录屏 / 取色 / 贴图 / Finder 右键全都有。
- 项目地址(GitHub):github.com/Tyeerth/Sna…
- 最新版本下载:github.com/Tyeerth/Sna…
二、v0.1.3-beta 本次更新有啥?
这是一次「补齐核心功能 + 打磨体验」的版本,重点更新如下:
✨ 新增:完整的屏幕录制模块
这次版本最大的亮点——SnapClick 终于支持录屏了! 全新 Recording 模块带来一整套录屏体验:
- 区域选择录屏:拖拽框选录制区域,所见即所录
- 倒计时窗口:3-2-1 倒计时,给你整理桌面的喘息时间
- 实时录制 HUD:录制中显示时长、状态,可随时暂停/停止
- 录制区域指示器:录制过程中显示边框,绝不会拍到不该拍的
- 基于 ScreenCaptureKit:使用 Apple 官方推荐的现代 API,性能与画质双在线
🎯 优化:截图与状态栏
- CaptureOverlayWindow 交互优化:区域选择更跟手、边角拖拽更精准
- ScreenCaptureEngine 输出流程改进:截图保存更稳定可靠
- 状态栏菜单扩展:新增录屏相关入口,所有功能在菜单栏一键直达
- PinColor 贴图修复:解决了贴图窗口的若干小问题
⚙️ 新增:Dock 图标动态切换
- 设置中可切换「显示在程序坞」/「仅菜单栏」两种模式
- 关闭 Dock 图标后,App 即变身为纯粹的菜单栏应用,干净利落
- 支持点击 Dock 图标重新唤起设置窗口
🌐 之前版本继承的 UI 与多语言
- 设置页扁平化导航、Light / Dark / Auto 三种外观跟随系统
- 中 / 英 / 日三语完整覆盖
三、SnapClick 都有哪些核心功能?
1️⃣ 截图:满足你 99% 的场景
- 区域截图、窗口截图、全屏截图
- 长截图(滚动拼接)
- 内置标注编辑器:箭头、矩形、马赛克、文字……写文档画重点一气呵成
- 自定义保存路径、文件名规则、剪贴板自动复制
2️⃣ 录屏(v0.1.3 全新)
- 区域 / 全屏录制
- 倒计时 + HUD 控制
- 录制区域可视化指示
- 基于 ScreenCaptureKit,CPU 占用低
3️⃣ 取色
- 屏幕任意像素取色,支持 HEX / RGB / HSL 多格式
- 放大镜级精度,告别「我以为这是同一种灰」
- 历史色板,常用色随手取
4️⃣ 贴图便签(PinColor)
- 截图后一键贴在桌面最顶层
- 支持缩放、半透明、置顶
- 写文章对照图片不用再开两个窗口
5️⃣ Finder 右键增强
- 新建任意类型文件(md / py / js / html / json...,模板可自定义)
- 一键复制完整路径
- 在终端打开当前目录
- 收藏目录,秒开常用工程
6️⃣ 全局快捷键
- 所有功能均可绑定全局热键,肌肉记忆直接拉满
四、技术栈与架构亮点
对开发者朋友们,简单说说技术细节:
| 模块 | 技术选型 |
|---|---|
| UI 主体 | SwiftUI |
| 系统级窗口 / 菜单栏 / Overlay | AppKit |
| 截图 / 录屏 | ScreenCaptureKit |
| Finder 集成 | FinderSync Extension |
| 主 App ↔ Extension 通信 | App Group UserDefaults + Darwin Notification |
| 全局快捷键 | Carbon HotKey API |
架构上特别注意的点:
- FinderExtension 在沙盒中,所有重操作都通过 IPC 交回主 App 执行,规避沙盒限制
- 用
/usr/bin/open -R替代activateFileViewerSelecting,避免 Apple Event 权限弹窗 - 严格遵循 Apple Human Interface Guidelines,菜单、对话框、键盘交互全部原生
五、如何安装
- 前往 Releases 页面下载最新版: 👉 github.com/Tyeerth/Sna…
- 解压
SnapClick-v0.1.3-beta.zip - 把
SnapClick.app拖入 应用程序 文件夹 - 首次启动若被 Gatekeeper 拦截,前往 系统设置 → 隐私与安全性 → 仍要打开
- 按引导授予以下权限:
- 屏幕录制(截图 / 录屏 / 取色都需要)
- 辅助功能(全局快捷键)
- Finder 扩展(右键菜单)
六、开源 & 共建
SnapClick 完全开源,MIT License,欢迎:
- ⭐ Star 支持一下:github.com/Tyeerth/Sna…
- 🐛 提 Issue 反馈 Bug 或需求
- 🔧 PR 共建,尤其欢迎录屏后处理(导出 GIF / 压制)、OCR 识图等方向的贡献
- 💬 喜欢这种「干净不打扰」的原生小工具的朋友,来我评论区聊聊你最想要什么功能
七、写在最后
做工具的初衷很简单:让自己用得爽,顺手开源给同样有需要的人。 如果你也受够了订阅制和广告弹窗,不妨给 SnapClick 一次机会。
v0.1.3-beta 现已上线,欢迎下载体验: 👉 github.com/Tyeerth/Sna…
如果觉得有帮助,点赞、收藏、关注三连,下篇文章我会拆解「如何用 ScreenCaptureKit 在 macOS 上从零实现一个录屏模块」,把这次新版的核心代码完整剖析一遍。我们下篇见 👋