Files
Clipboard/README.md
2026-09-12 13:59:12 +08:00

3.3 KiB
Raw Permalink Blame History

剪贴板

基于 Electron 的轻量剪贴板管理器,灵感来自 Ditto

快速开始

环境要求Windows 10 / 11 · Node.js ≥ 18

npm install
npm start

启动后程序常驻系统托盘。复制任意文本或图片即自动记录;单击托盘图标唤出窗口,选中条目后双击或按回车写入系统剪贴板,再切到目标窗口 Ctrl+V 粘贴。

如安装时 better-sqlite3 编译失败,可安装 Visual Studio Build Tools 后执行 npm run rebuild

功能

  • 自动记录:默认每秒轮询系统剪贴板,文本和图片都自动入库
  • 收藏:独立 Tab 永久存放,源记录被删除后仍可复制,上限 1000 条
  • 搜索:实时过滤文本,支持中文子串
  • 置顶:点过「复制」的项自动置顶,避免被自动清理或「清空历史」误删
  • 全局唤起:默认 Ctrl+Alt+V,设置里可改或禁用
  • 主题6 套主题 + 5 种强调色,支持跟随系统
  • 开机自启动、单实例、窗口置顶切换

快捷键

全局:默认 Ctrl+Alt+V 唤起或隐藏历史窗口(设置中可更改或禁用)。

主窗口内:

快捷键 行为
上下选择
PageUp PageDown 翻页
Home End 跳到首项或末项
Enter 复制当前选中项
1 ~ 9 直接复制对应项
Ctrl+L 聚焦搜索框
F5 刷新列表
Esc 清空搜索或隐藏窗口
F12 开发者工具

设置窗口: / 切换标签页,Esc 关闭。

数据存储

默认存放在 D:\Clipboard Data,独立于项目目录:

D:\Clipboard Data\
├── config.json
├── history.db
└── favorites.db
  • D 盘不可用时自动降级到 %USERPROFILE%\Clipboard Data
  • 设置 → 「更改…」可迁到其他位置;「打开文件夹」直达目录
  • 启动前设 CLIPBOARD_APP_DATA_DIR=D:\some\dir 可临时覆盖
  • 首次启动会自动从 %USERPROFILE%\.clipboard-app 迁移历史数据

开发

npm test              # 单元测试(自动发现 test/*.test.js
npm run test:ui       # UI 测试(需 Electron 窗口)
npm run test:all      # 上面两套一起跑
npm run rebuild       # 重新编译 better-sqlite3 到当前 Electron ABI
npm run build         # 打包为 NSIS 安装包
npm run build:dir     # 仅生成解压目录

测试由 test/run.js 自动发现,新增用例放入 test/<name>.test.js 即可。

常见问题

点选条目后没有自动粘贴 设计如此:只写入系统剪贴板,需手动 Ctrl+V。避免隐藏窗口导致的焦点闪烁。

全局快捷键无效 组合键被其他程序占用。在设置中更换档位,或释放占用方后重启。

看不到托盘图标 Windows 11 默认折叠托盘图标,需在「设置 → 系统 → 通知」中开启。

数据库占用或损坏 可直接删除 D:\Clipboard Data 下的 db 文件,重启后自动重建(配置和收藏数据除外)。

已知限制

  • 不自动粘贴,必须手动 Ctrl+V
  • 收藏上限 1000 条

致谢