PinCopy:双击 Ctrl,把剪贴板「钉」在屏幕上

PinCopy : 让剪贴板内容「贴」在屏幕上

一款面向开发者与知识工作者的轻量级桌面贴图工具


为什么需要 PinCopy?

在日常工作中,我们频繁地在浏览器、编辑器、聊天窗口和文档之间复制粘贴。一段 API 文档、一截报错日志、一条待办事项------复制之后,往往还需要反复切换窗口去对照原文。

传统的做法是开 Notepad 贴上去,或者把窗口并排摆放。前者太简陋,后者又占屏幕、打断思路。

PinCopy 想解决的是更具体的一件事:把剪贴板里的文字,以半透明浮窗的形式「钉」在屏幕上,让你在对照另一份资料时,不必来回切窗口。

它不做笔记管理,不做云同步,也不试图替代 IDE。它只做一件事,并尽量把这件事做到极致:快、轻、不打扰


核心理念

PinCopy 的设计围绕三个关键词展开:

1. 无感常驻

启动后,PinCopy 不会占据任务栏主区域,而是安静地待在系统托盘。没有主界面打扰,没有弹窗推销,需要的时候唤出来,用完关掉即可。

2. 一键贴图

复制文本后,快速连按两次 Ctrl ,贴图窗口就会出现在鼠标所在位置。这个手势刻意选得简单------不需要记复杂的组合键,也不容易和常见的 Ctrl+CCtrl+V 冲突。

3. 贴图即工具

弹出的不是一张静态截图,而是一个可交互的窗口:可以拖动、缩放、调透明度、选择复制,甚至对代码自动语法高亮。它更像一块临时的工作面板,而不是死板的图片。


主要功能

全局贴图

PinCopy 在后台监听键盘事件。当你双击 Ctrl 时,它会读取系统剪贴板中的文本,并在当前鼠标位置创建一个置顶、无边框的透明窗口,将内容展示出来。

窗口中心对齐鼠标指针,多显示器环境下也会根据所在屏幕的 DPI 自动适配位置与尺寸。

智能内容识别

并非所有剪贴板内容都是代码。PinCopy 内置了一套 CJK 感知的内容检测 机制:

  • 中文段落、笔记、对话:按纯文本排版展示,选用适合中文阅读的无衬线字体
  • 代码片段:自动识别语言类型并启用语法高亮

目前支持 JavaScript、TypeScript、Rust、Python、JSON、HTML、CSS、Shell、YAML、SQL、Markdown、Java、Go 等常见语言。含有中文注释的代码也能正确高亮,而不会被误判为普通中文文本。

灵活的窗口交互

贴图窗口设计为「用完即走」,交互尽量直觉:

你想做什么 怎么做
移动位置 拖动顶部手柄
放大缩小 Shift + 滚轮
调透明度 Alt / Ctrl + 滚轮
阅读长内容 普通滚轮滚动
复制全部 点击「复制」或 Ctrl+Shift+C
复制一部分 在内容区拖选文本
关闭窗口 双击任意位置,或按 Esc

缩放采用 GPU 加速的预览机制,滚轮过程中画面跟手流畅;停止滚动后再将物理窗口尺寸对齐,避免卡顿与跳变。

系统托盘与开机自启

右键(或左键,视系统而定)点击托盘图标,可以:

  • 立即贴图:手动触发,效果与双击 Ctrl 相同
  • 开机自启:写入当前可执行文件路径,下次登录自动后台运行
  • 退出:完全关闭应用

PinCopy 还实现了单实例互斥:若已有实例在运行,再次启动会提示退出旧进程,避免多个副本抢占全局热键。


典型使用场景

对照 API 文档写代码

把接口说明贴在一旁,IDE 全屏写逻辑,需要查参数时瞄一眼即可。

排查报错

复制 Stack Trace 贴到屏幕上,对照浏览器或数据库客户端逐步定位问题。

会议 / 协作

临时把一段配置、命令或链接贴在桌面一角,方便同事查看,又不遮挡共享屏幕的主要内容。

阅读与摘录

复制长文片段,调低透明度浮在原文上方,边读边做笔记。

中文与代码混排

技术文档里中英混排、带中文注释的代码块,PinCopy 会分别按最适合的方式渲染,而不是一刀切当成代码或纯文本。


技术架构概览

PinCopy 基于 Tauri 2 构建:Rust 负责系统级能力,Web 技术负责界面渲染。相比 Electron 类方案,打包体积更小(release 版约 10 MB),内存占用也更克制。

复制代码
┌─────────────────────────────────────────┐
│              用户操作层                    │
│  双击 Ctrl · 托盘菜单 · 贴图窗口交互      │
└─────────────────┬───────────────────────┘
                  │
┌─────────────────▼───────────────────────┐
│            Rust 后端 (Tauri)             │
│  · 全局热键监听 (rdev)                   │
│  · 剪贴板读写                            │
│  · 动态创建置顶透明窗口                   │
│  · 系统托盘 / 开机自启                    │
└─────────────────┬───────────────────────┘
                  │
┌─────────────────▼───────────────────────┐
│         React 前端 (WebView)             │
│  · 内容解码与展示 (UTF-8)                │
│  · 代码检测 + Prism 语法高亮             │
│  · 缩放 / 透明度 / 复制 / 拖动           │
└─────────────────────────────────────────┘

前端:React 19 + Vite + Tailwind CSS 4,贴图窗口通过 React Router 独立路由渲染。

后端 :Rust 动态创建 WebView 窗口,内容经 initialization_script 注入,避免超长 URL 导致导航失败;中文内容使用 TextDecoder 正确解码 UTF-8。

安全与权限:Tauri 2 的 Capability 机制按窗口粒度授权,主窗口与动态贴图窗口分别持有最小必要权限。


设计取舍

PinCopy 刻意不做的事情,和它能做的事情同样重要:

  • 不支持图片贴图:聚焦文本场景,保持轻量
  • 不做历史记录:剪贴板即来即用,不持久化用户数据
  • 不做云端:纯本地运行,无账号、无上传
  • 不占用任务栏:后台工具应有的姿态

这些取舍让 PinCopy 保持小巧、启动快、行为可预期。它适合作为一个「随时在手边」的辅助工具,而不是另一个需要学习和维护的平台。


快速上手

  1. 运行 pincopy.exe,在系统托盘找到 PinCopy 图标
  2. 复制任意一段文本
  3. 快速连按两次 Ctrl
  4. 贴图窗口出现在鼠标位置,按需拖动、缩放或使用
  5. 双击窗口或按 Esc 关闭

如需长期驻留,在托盘菜单勾选「开机自启」。


写在最后

PinCopy 源于一个很朴素的需求:复制之后,能不能别让我再切窗口?

它没有宏大的产品叙事,只是一块贴在屏幕上的「临时便签」------透明、可移动、对代码友好、对中文友好、用完即走。

如果你经常在对照资料写代码、读文档、查报错,不妨试试:复制,双击 Ctrl,然后继续工作。


PinCopy v0.1.0 · Tauri + React + Rust

相关推荐
kyriewen1 小时前
大厂面试新规:不会用AI编程,直接挂
前端·面试·ai编程
努力找实习的前端小白1 小时前
useImperativeHandle,useRef,forwardRef的协作关系
前端·面试
ZengLiangYi1 小时前
Fastify 加 Electron:把 Web 服务嵌进桌面应用
前端·javascript·后端
qq_2518364572 小时前
基于nodejs express +vue 天天商城系统设计与实现 (源码 文档)
前端·vue.js·express
胡萝卜术2 小时前
从零搭建生成式AI项目:OpenAI + Node.js 环境配置与密钥安全实践
前端·javascript·面试
lichenyang4532 小时前
鸿蒙实战:聊天记录持久化 · 历史会话页面 · 两个真实 Bug 的定位与修复
前端
天蓝色的鱼鱼2 小时前
前端也能写 AI Agent?用 Vercel AI SDK 十分钟跑通你的第一个智能助手
前端·ai编程
DevUI团队2 小时前
接口即代码:一个Skill轻松搞定类型定义、接口调用、Mock与调试
前端·agent·ai编程