我做了一款开源 macOS 效率神器 SnapClick:截图、录屏、取色、贴图、Finder 右键增强一站搞定

40 阅读5分钟

我做了一款开源 macOS 效率神器 SnapClick:截图、录屏、取色、贴图、Finder 右键增强一站搞定(v0.1.3-beta 已发布)

关键词:macOS 截图工具、macOS 录屏工具、屏幕取色、贴图便签、Finder 右键增强、Swift、SwiftUI、AppKit、开源、原生应用

一、写在前面:我为什么又造了一个轮子?

作为一个长期混迹 macOS 的开发者,我每天都要跟以下场景打交道:

  • 写文档要截图(区域、窗口、整屏、长截图都得来一下)
  • 录课程演示、Bug 复现要录屏
  • UI 还原要取色
  • 看资料要贴在桌面上对照
  • 在访达里频繁要新建文件、复制路径、打开终端

试过一圈付费工具(你懂的),要么订阅制吃相难看,要么功能割裂得像拼夕夕。于是我用 Swift + SwiftUI + AppKit 撸了一款完全免费、开源、原生的 macOS 效率工具——SnapClick

主打一个:菜单栏一颗图标,截图 / 录屏 / 取色 / 贴图 / Finder 右键全都有。


二、v0.1.3-beta 本次更新有啥?

这是一次「补齐核心功能 + 打磨体验」的版本,重点更新如下:

✨ 新增:完整的屏幕录制模块

这次版本最大的亮点——SnapClick 终于支持录屏了! 全新 Recording 模块带来一整套录屏体验:

  • 区域选择录屏:拖拽框选录制区域,所见即所录
  • 倒计时窗口:3-2-1 倒计时,给你整理桌面的喘息时间
  • 实时录制 HUD:录制中显示时长、状态,可随时暂停/停止
  • 录制区域指示器:录制过程中显示边框,绝不会拍到不该拍的
  • 基于 ScreenCaptureKit:使用 Apple 官方推荐的现代 API,性能与画质双在线

🎯 优化:截图与状态栏

  • CaptureOverlayWindow 交互优化:区域选择更跟手、边角拖拽更精准
  • ScreenCaptureEngine 输出流程改进:截图保存更稳定可靠
  • 状态栏菜单扩展:新增录屏相关入口,所有功能在菜单栏一键直达
  • PinColor 贴图修复:解决了贴图窗口的若干小问题

⚙️ 新增:Dock 图标动态切换

  • 设置中可切换「显示在程序坞」/「仅菜单栏」两种模式
  • 关闭 Dock 图标后,App 即变身为纯粹的菜单栏应用,干净利落
  • 支持点击 Dock 图标重新唤起设置窗口

🌐 之前版本继承的 UI 与多语言

  • 设置页扁平化导航、Light / Dark / Auto 三种外观跟随系统
  • 中 / 英 / 日三语完整覆盖

image.png

三、SnapClick 都有哪些核心功能?

1️⃣ 截图:满足你 99% 的场景

  • 区域截图、窗口截图、全屏截图
  • 长截图(滚动拼接)
  • 内置标注编辑器:箭头、矩形、马赛克、文字……写文档画重点一气呵成
  • 自定义保存路径、文件名规则、剪贴板自动复制

image.png

image.png

2️⃣ 录屏(v0.1.3 全新)

  • 区域 / 全屏录制
  • 倒计时 + HUD 控制
  • 录制区域可视化指示
  • 基于 ScreenCaptureKit,CPU 占用低

image.png

3️⃣ 取色

  • 屏幕任意像素取色,支持 HEX / RGB / HSL 多格式
  • 放大镜级精度,告别「我以为这是同一种灰」
  • 历史色板,常用色随手取

image.png

4️⃣ 贴图便签(PinColor)

  • 截图后一键贴在桌面最顶层
  • 支持缩放、半透明、置顶
  • 写文章对照图片不用再开两个窗口

image.png

5️⃣ Finder 右键增强

  • 新建任意类型文件(md / py / js / html / json...,模板可自定义)
  • 一键复制完整路径
  • 在终端打开当前目录
  • 收藏目录,秒开常用工程

image.png

6️⃣ 全局快捷键

  • 所有功能均可绑定全局热键,肌肉记忆直接拉满

四、技术栈与架构亮点

对开发者朋友们,简单说说技术细节:

模块技术选型
UI 主体SwiftUI
系统级窗口 / 菜单栏 / OverlayAppKit
截图 / 录屏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,菜单、对话框、键盘交互全部原生

五、如何安装

  1. 前往 Releases 页面下载最新版: 👉 github.com/Tyeerth/Sna…
  2. 解压 SnapClick-v0.1.3-beta.zip
  3. SnapClick.app 拖入 应用程序 文件夹
  4. 首次启动若被 Gatekeeper 拦截,前往 系统设置 → 隐私与安全性 → 仍要打开
  5. 按引导授予以下权限:
    • 屏幕录制(截图 / 录屏 / 取色都需要)
    • 辅助功能(全局快捷键)
    • 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 上从零实现一个录屏模块」,把这次新版的核心代码完整剖析一遍。我们下篇见 👋