# novel2notes **Repository Path**: iqei/novel2notes ## Basic Information - **Project Name**: novel2notes - **Description**: VS Code 小说伪装阅读扩展,支持项目语言检测、章节导航、快捷键和阅读进度同步。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-22 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # novel2notes VS Code 扩展:把小说伪装成源代码来阅读。章节以注释形式嵌入 Java / TypeScript / Python 等语言模板,侧栏管理书库,阅读进度本地保存并可同步到 GitHub Gist 或 WebDAV。 设计说明位于 `docs/superpowers/specs/2026-07-16-novel2notes-design.md`。 ## 桌面版 桌面版位于 `desktop/`,使用 Tauri 2 + Rust + Vue 3,支持 TXT、EPUB、PDF 和可选的 GitHub Gist 同步。Rust 工具链固定在项目 `.tooling/` 下,不需要全局安装;完整的 macOS/Linux、Windows、Docker 调试方式见 [`desktop/README.md`](desktop/README.md)。 ## 开发调试 1. 安装依赖:`npm install` 2. 编译:`npm run compile`(或 `npm run watch`) 3. 在 VS Code 中打开本仓库,按 **F5** 启动 Extension Development Host 4. 在开发宿主窗口中使用下方命令与侧栏 ## 使用方法 ### 导入小说 - 命令面板:`novel2notes: 导入小说` - 选择本地 `.txt` 文件(支持常见中文编码) - 大于 20 MB 时会提示确认(大文件导入可能较慢) - 导入后出现在侧栏 **书库** ### 阅读 - 侧栏 **书库** 展开书籍,点击章节打开伪装文档 - `novel2notes: 继续阅读` — 从上次进度继续 - `novel2notes: 下一章` / `上一章` — 章节导航 - 滚动时自动保存阅读进度;伪装文档为只读,进度已自动保存 - 虚拟文档使用真实项目文件名;切换章节、语言或注释间距时会替换原阅读标签页 默认阅读快捷键仅在小说阅读标签内生效,并可在 VS Code 的“键盘快捷方式”中搜索 `novel2notes` 自定义: | 操作 | Windows / Linux / macOS | |------|-------------------------| | 下一段小说 | `Alt/Option + ↓` | | 上一段小说 | `Alt/Option + ↑` | | 下一章 | `Alt/Option + →` | | 上一章 | `Alt/Option + ←` | ### 项目感知伪装 - 默认语言为 `auto`:优先使用当前编辑器语言,并识别 Vue 等项目框架及工作区内可用源码类型 - 优先读取当前项目中的真实源码作为伪装底稿;找不到匹配源码时才使用内置模板 - 项目源码只在本地只读展示,不会修改源文件,也不会进入 Gist/WebDAV 同步数据 - `novel2notes: 切换伪装语言` — 自动检测或手动选择当前章节/默认语言 - `novel2notes: 切换注释间距`:紧凑 / 均衡 / 强伪装 - 三档都将每段小说保留为一条逻辑注释,并按编辑器宽度自动换行;档位只改变相邻注释之间的代码距离 内置语言: | id | 说明 | |----|------| | `java` | Java | | `typescript` | TypeScript | | `javascript` | JavaScript | | `python` | Python | | `vue` | Vue SFC 风格 | | `reactTsx` | React TSX | | `nodejs` | Node.js | ### 同步设置 - `novel2notes: 同步设置` — 配置 Gist PAT 或 WebDAV(密钥存 Secrets) - `novel2notes: 立即同步` — 手动推拉进度 - 设置项 `novel2notes.autoSync` 开启后,进度变更会防抖自动同步 支持的同步后端: - **GitHub Gist** — 需 Personal Access Token;可自动创建/更新 gist - **WebDAV** — URL、用户名、密码、远程路径(默认 `/novel2notes/sync.json`) ### 其它命令 - `novel2notes: 刷新书库` - `novel2notes: 从书库删除` ## 测试与打包 ```bash npm test npm run compile npm run package # 生成 .vsix(需 vsce) ``` ## 相关文档 - 设计规格:`docs/superpowers/specs/2026-07-16-novel2notes-design.md` - 跨端在线阅读、书源与段评规格:`docs/superpowers/specs/2026-07-26-cross-platform-reading-community-design.md` - 实现计划:`docs/superpowers/plans/2026-07-16-novel2notes-implementation.md`