当前位置: 首页 > news >正文

为macOS Finder提供直观的剪切粘贴体验 - 实践

✨ 简介

在这里插入图片描述

FinderClip 是一个轻量级的 macOS 菜单栏应用,让你可以在 Finder 中使用熟悉的 ⌘X⌘V 快捷键来剪切和移动文件,就像在 Windows 中一样自然。

前往GitHub仓库下载

功能特点

功能说明
✂️ 真正的剪切在 Finder 中使用 ⌘X 剪切文件
智能粘贴使用 ⌘V 移动文件到目标位置
场景识别自动区分文件选择和文本编辑状态
可视化反馈剪切/粘贴操作提供清晰的通知提示
⏱️ 超时保护剪切超时时间可自定义(1-30分钟)
⌨️ 快捷取消按 Esc 取消剪切操作
双语支持支持中文/English语言切换
开机自启支持开机自动启动
⚙️ 设置界面精美的偏好设置面板
自动更新内置 Sparkle 自动更新

使用方法

基本操作

  1. ⌘X — 在 Finder 中选择文件后按 ⌘X 剪切
  2. ⌘V — 导航到目标文件夹后按 ⌘V 移动
  3. Esc — 按 Esc 键取消剪切状态

快速开始

系统要求

  • macOS 12.0 或更高版本
  • Xcode Command Line Tools

从源码构建

方式一:使用 Xcode(推荐)

git clone https://github.com/Wcowin/Mac-Finder-Clipboard.git
cd Mac-Finder-Clipboard
open FinderClip.xcodeproj
# 在 Xcode 中按 ⌘R 运行

方式二:命令行构建

git clone https://github.com/Wcowin/Mac-Finder-Clipboard.git
cd Mac-Finder-Clipboard
# 构建并运行
./scripts/build.sh --run
# 或仅构建
./scripts/build.sh

首次使用

  1. 运行应用后,菜单栏会出现剪刀图标 ✂️
  2. 如果显示 “⚠ 点击授予权限…”,点击它打开系统设置
  3. 在辅助功能列表中找到并勾选 FinderClip
  4. 返回应用,菜单栏显示 “✓ 已就绪” 即可使用

技术实现

核心技术

  • CGEvent API - 拦截全局键盘事件
  • Accessibility API - 检测焦点元素状态
  • UserNotifications - 现代化的通知系统
  • ServiceManagement - 开机自启支持

工作原理

用户按下 ⌘X↓
检测是否在 Finder↓
检测是否在文本编辑状态↓
模拟 ⌘C 复制文件↓
标记剪切模式↓
用户按下 ⌘V↓
转换为 ⌘⌥V(系统剪切粘贴)↓
文件移动完成

项目结构

Mac-Finder-Clipboard/
├── main.swift                    # 应用入口
├── AppDelegate.swift             # 应用代理和菜单栏
├── FinderCutPasteManager.swift   # 核心功能实现
├── SettingsManager.swift         # 设置管理
├── SettingsWindowController.swift # 设置界面
├── Assets.xcassets/              # 应用图标资源
├── FinderClip.xcodeproj/         # Xcode 项目
├── Info.plist                    # 应用配置
├── FinderClip.entitlements       # 权限配置
├── appcast.xml                   # Sparkle 更新源
├── build.sh                      # 构建脚本入口
├── scripts/
│   └── build.sh                  # 完整构建/发布脚本
├── tools/sparkle/                # Sparkle 签名工具
├── LICENSE                       # MIT 许可证
└── README.md                     # 说明文档

构建命令

./scripts/build.sh              # 构建 Debug 版本
./scripts/build.sh --run        # 构建并运行
./scripts/build.sh --release    # 构建 Release 版本
./scripts/build.sh --release 1.0.3  # 发布 v1.0.3
./scripts/build.sh --clean      # 清理构建
./scripts/build.sh --status     # 查看项目状态
./scripts/build.sh --help       # 显示帮助

贡献

欢迎参与项目开发!

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开一个 Pull Request

也欢迎提交 Issue 报告 Bug 或建议新功能!

许可证

本项目采用 MIT License 开源。

‍ 作者

Wcowin - GitHub

更新日志

v1.0.3 (2025-12-30)

v1.0.2

  • 简化设置界面,更加简洁美观
  • 优化菜单栏布局
  • 授权后立即生效,无需重启应用
  • 移除冗余功能

v1.0.1

⭐ Star History

如果这个项目对你有帮助,请给它一个 Star ⭐

Made with ❤️ by Wcowin

PS:打个广告,如果你需要 Mac 的粘贴板管理工具,可以试试 OneClip。OneClip 已经内置了 FinderClip 的功能,更加全面,欢迎体验!

screenshot_1.5x_postspark_2025-12-08_18-46-39.png

screenshot_1.5x_postspark_2025-12-08_18-50-28.png

http://www.jsqmd.com/news/446782/

相关文章:

  • C#委托学习思维导图
  • 一、HTML简介与开发环境
  • 技术架构解析:如何构建高并发、合规的本地生活多平台抽佣系统
  • 小程序商城平台哪家强?做商城小程序选哪个制作平台? - 码云数智
  • [kotlin] 从Java到Kotlin:掌握基础语法差异的跃迁指南 - 指南
  • 小程序商城哪个平台好,SaaS小程序商城平台深度对比 - 码云数智
  • 小程序开发一个多少钱啊,三种方式的费用构成与适用场景 - 码云数智
  • 如何做一个微信小程序商城 - 码云数智
  • 两个空,一个空性:AI元人文指向同一个家
  • 小程序快速开发平台有哪些,SaaS小程序制作平台深度对比 - 码云数智
  • 小程序第三方开发平台有哪些 - 码云数智
  • 如何开发微信里的小程序,小程序自助搭建教程 - 码云数智
  • 怎么开通自己的小程序,零代码小程序搭建全攻略 - 码云数智
  • 实用指南:Jenkins高级管理
  • 二叉树的层序遍历-leetcode
  • B2B制造企业如何选择AI出海服务商?2026年主流平台能力与用户反馈解析 - 品牌2026
  • 制造业B2B企业出海营销如何提效?2026年AI智能体服务商能力全景解析 - 品牌2026
  • Whats respect
  • [Redis从零到精通|第四篇]:缓存穿透、雪崩、击穿 - 指南
  • 软件测试经典面试题,助你面试加分
  • Whats respect。
  • 空性西传——用却无视
  • 有意思的开源软件
  • 原生Java NIO的核心“坑”与Netty的解决方案(深度解析)
  • pngjs
  • 立直麻将赛事记分系统介绍与优化改进
  • delphi的TReeView支持鼠标拖动节点
  • 微信小程序怎么制作自己的程序 - 码云数智
  • 这两天,腾讯云搞了一个“龙虾安装站”活动
  • 解决一个LANG引起beeline导出中文乱码的问题