Skip to content

About

轻量级 Windows 桌面应用,用于临时记录、编辑、格式化文本内容。 定位是「快速打开、随手记录、随时关闭」——不是 IDE,也不是笔记软件。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

闪记

License: MIT CI Platform: Windows Tauri 2 Rust React 19 TypeScript 6 CodeMirror 6

轻量级 Windows 桌面文本记录器:快速打开、随手记录、随时关闭。不是 IDE,也不是笔记软件。

能力 说明
多标签 自动保存;重启后连标签顺序、光标位置、窗口大小一起恢复
语法高亮 25 种语言;打开文件按扩展名定,随手记的内容按内容猜
跳转到定义 F12 / Ctrl+Click 跳到同一文件内的定义,Alt+← 回退
格式化 Shift+Alt+F 格式化 JSON / YAML,Shift+Alt+M 压缩 JSON
两种用法 直接编辑真实文件;或随手新建标签,内容先落在临时目录,随时另存为
外观 主题跟随系统;无边框单行标题栏(图标 + 菜单 + 窗口按钮)

快速上手

想做什么 怎么做
打开文件 把文件拖进窗口(可一次多个)、Ctrl+O,或 文件 ▸ 打开…
双击文件打开 装好后双击 JSON / YAML / 文本等文件即可(见「默认打开方式」)
随手记 Ctrl+N 新建标签,内容立刻落在临时目录;Ctrl+S 可另存到正式位置
找内容 Ctrl+F 搜索 · Ctrl+R 替换 · Ctrl+G 转到行 · F3 下一个匹配
看定义 F12 或 Ctrl+Click;Alt+← 回到跳转前的位置
改标签名 / 排序 双击标签名重命名(只改显示名,不改文件名);拖动标签排序
动窗口 拖标题栏空白处移动;拖四条边缩放;双击标题栏空白处最大化 / 还原
用键盘走菜单 ← → 换顶级菜单,↑ ↓ 移动高亮,Enter 执行,Esc 关闭
不知道按哪个键 按 F1 打开「使用说明」(应用内的完整功能文档,左侧带目录)

快捷键

菜单里能看到大部分按键。焦点不在编辑器里时同样生效(焦点在标签栏、状态栏或按钮上也行)。

分类 快捷键 功能
文件 Ctrl+N / Ctrl+T 新建标签(在临时目录建文件)
Ctrl+O 打开文件(已打开则直接切过去)
Ctrl+S / Ctrl+Shift+S 保存(临时标签转为另存为) / 另存为
Ctrl+W 关闭当前标签
标签 Ctrl+Tab / Ctrl+Shift+Tab 下一个 / 上一个标签
Ctrl+PageDown / Ctrl+PageUp 同上(备用,部分环境会拦截 Ctrl+Tab)
Ctrl+1 … Ctrl+9 切到第 N 个标签
编辑 Ctrl+Z / Ctrl+Shift+Z 撤销 / 重做
Shift+Alt+F / Shift+Alt+M 格式化 / 压缩 JSON
折叠 Ctrl+Shift+[ / Ctrl+Shift+] 折叠 / 展开当前区域
Ctrl+Alt+[ / Ctrl+Alt+] 全部折叠 / 全部展开
查找 Ctrl+F / Ctrl+R 搜索 / 替换(同一个面板)
Ctrl+G 转到行(行 或 行:列;Ctrl+Alt+G 同样可用)
F3 / Shift+F3 下一个 / 上一个匹配
跳转 F12 / Ctrl+Click 跳到名字的定义(同一文件内)
Alt+← 回到跳转前的位置
其它 Ctrl+D 选下一个相同词
Alt+Click 多光标(Ctrl+Click 已让给跳转,故改用 Alt)
Ctrl+, 设置
F1 使用说明

语法高亮与跳转

语言怎么定的:打开文件时按文件名(所以 .py 不会被内容误判成 YAML); 新建的临时标签没有文件名可依,就按内容猜——先认代码特征,再认 JSON / YAML, 都不像就是纯文本。认错了或认不出来时,点状态栏左侧的语言名手动指定, 下拉里有「自动识别」可以还原;选择记在数据库里,重启后仍然有效。 优先级:手动选择 > 文件名 > 内容。

分组 语言(扩展名举例)
脚本 / 编译型 JavaScript .js .mjs、TypeScript .ts .mts、JSX / TSX .jsx .tsx、Python .py、C / C++ .c .h .cpp、Rust .rs、Go .go、Java .java
配置 / 数据 JSON .json .jsonc、YAML .yaml .yml、TOML .toml、INI .ini .properties .env
标记 / 查询 HTML .html、CSS .css .scss、XML .xml .svg、Markdown .md、SQL .sql
脚本 / 其它 Shell .sh、PowerShell .ps1、Dockerfile(按文件名)、Lua .lua、Ruby .rb、Perl .pl、R .r

跳转到定义(只在当前文件内查找,不解析 import):

  • 支持 JavaScript / TypeScript / JSX / TSX、Python、Rust、Go、Java、C / C++, 以及 YAML 的锚点与别名
  • 光标下的名字有定义时会显示虚线下划线与手型光标;找不到时只在状态栏提示,不弹窗
  • 定义在视口之外也能跳到(搜索前会把语法树补解析到文末,上限 0.5 秒)

内容超过 5 MB 会自动关闭语法高亮(状态栏会说明),缩回阈值内自动恢复。 语法包按需加载:没打开过的语言不占内存,也不进首屏。详见 docs/DEVELOPMENT.md(含内存与体积实测)。

折叠:行号旁的折叠槽点一下即可折叠 {} / [] 与缩进块; Ctrl+Shift+[ / Ctrl+Shift+] 折叠 / 展开光标所在区域,Ctrl+Alt+[ / Ctrl+Alt+] 全部折叠 / 全部展开(查看菜单里也有这四项)。折叠与语法高亮同源——依赖语法树, 所以纯文本、TOML / INI / Shell / PowerShell / Lua / Ruby / Perl / R / Dockerfile 这类没有语法树的 legacy 语言没有折叠,超过 5 MB 被降级的内容也不会出现折叠标记。 折叠状态只在本次运行内保留(切标签不丢),不写数据库。

设置

Ctrl+, 或 设置 ▸ 打开设置…

  • 主题:跟随系统 / 浅色 / 深色
  • 临时目录:查看生效目录、选择新目录、恢复默认、在资源管理器中打开
  • 打开的文件自动保存:开关(临时文件不受此开关约束,总是保存)
  • 临时文件:显示总数与未被引用的数量,可手动清理(删除前二次确认)

数据与文件

内容以文件为准,数据库只存标签元数据与会话:

标签来自 内容落在哪
新建标签 Ctrl+N 临时目录,文件名形如 未命名 1-3f9a2c8e.txt
打开的文件 Ctrl+O 原文件本身
另存为 Ctrl+Shift+S 你选定的新路径,并删除原来的临时文件
  • 数据库(只存标签元数据与会话):%APPDATA%\com.temporary.recorder\recorder.db
  • 临时目录:%LOCALAPPDATA%\com.temporary.recorder\temp,可在设置里改

几个刻意的行为:

  • 卸载不会删除你的记录:recorder.db 与临时目录都会保留。
  • 关闭临时标签不会删除它的文件,内容之后仍能在临时目录里找回; 「设置」里的清理只清理没有被任何标签引用的文件。
  • 自动保存:停止输入约 0.8 秒后写回文件。写之前会比对文件修改时间, 若已被别的程序改过就不覆盖,只在状态栏提示(此时 Ctrl+S 可强制覆盖)。 单纯打开不会改动文件。
  • 编码与写入:统一写 UTF-8 无 BOM + LF(读入时去掉 BOM、CRLF/CR 归一为 LF; 非 UTF-8 如 GBK 会明确报错,不会产生乱码)。写入是原子的:先写同目录临时文件再改名覆盖, 写一半失败不会截断原文件。

默认打开方式

安装版会把闪记注册进 Windows 的「打开方式」候选:json jsonc yaml yml toml ini conf txt log md csv xml。双击这些文件即在新标签打开;闪记已在运行时会复用 同一个窗口,不会另起进程。

Windows 10/11 用带校验的 UserChoice 保护你自己选过的默认程序,安装包只能把闪记写进候选列表, 想让它成为默认还得在系统里确认一次:

  • 右键该类型文件 → 打开方式 → 选择其他应用 → 选闪记 → 勾「始终」
  • 或 帮助 ▸ 设为默认打开方式… 直接打开系统「默认应用」页,按文件类型指定

关联只在安装版上有意义。用 pnpm tauri dev 开发时别把它设成默认程序: 双击只会得到一个白屏窗口(开发版要连 dev server 才有界面)。

开发

需要 Node ≥ 20.19、pnpm ≥ 10、Rust stable-x86_64-pc-windows-msvc 与 VS Build Tools:

pnpm install       # 安装前端依赖
pnpm tauri dev     # 开发模式
pnpm tauri build   # 打包 release 安装包

推送到 main 会自动跑类型检查与前端构建;打 v* tag(如 v0.1.0)会在 GitHub Actions 上 自动构建 Windows 安装包并生成 Release 草稿——发版步骤见 docs/DEVELOPMENT.md。

更深入的内容在 docs/ 下:

  • docs/DEVELOPMENT.md —— 目录结构、架构与设计取舍、存储、 安装包、验收脚本、性能与内存实测
  • docs/PITFALLS.md —— 踩坑记录(Tauri v2 权限、SQLite 占位符、 无边框窗口、WebView2 抢快捷键、滚动条、内容嗅探……)

技术栈:Tauri v2(复用系统 WebView2)+ React 19 + TypeScript + Vite + CodeMirror 6 + Zustand + SQLite(tauri-plugin-sql)+ Tailwind CSS。

许可证

MIT © 2026 helay

About

轻量级 Windows 桌面应用,用于临时记录、编辑、格式化文本内容。 定位是「快速打开、随手记录、随时关闭」——不是 IDE,也不是笔记软件。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages