Reader for VS Code 📖
极致纯净、性能满血的 VS Code 电子书阅读神器。

Reader 是一款专为开发者打造的本地电子书阅读插件。它巧妙地利用了 VS Code 内置的 Webview 环境,无需任何外部服务器或臃肿的框架,即可提供媲美专业阅读软件的沉浸式体验。在敲击代码的间隙,一键沉浸在书海中。
🚀 核心功能 (Core Features)
📚 真·多窗口支持 (Multi-Instance)
打破单窗口限制!你可以同时在编辑器中打开 5 本不同的书,分屏对比阅读。每个阅读窗口独立保存自己的进度、缩放和听书设置,互不干扰。
🔍 原生级全文检索 (Native Search)
完美继承 VS Code 的原生 Ctrl+F (Windows/Linux) 或 Cmd+F (macOS) 搜索体验。不仅支持高亮定位,还能随滚动条无缝锁定关键词。
🔊 沉浸式听书引擎 (Smart TTS)
采用段落级智能分块的 Web Speech API。支持随时无缝切换语速、切换发音人,且能保持高亮跟随与自动翻页。即便你切到写代码的窗口,声音依然后台陪伴。
🎯 选中文本朗读 (Selection-Based TTS)
选中任意段落文字,点击听书按钮,系统会智能定位到该段落并开始朗读。支持 EPUB、TXT 和 Markdown 格式,让你快速跳转到想听的内容。
💾 毫秒级进度记忆 (Auto-Save)
无论你是强制关闭 VS Code 还是突然断电,精准到像素级别的页面位置均会自动保存。听书进度、语速设置、主题偏好全部持久化。
🛡️ 极限防崩溃架构 (Anti-Crash)
针对单文件高达 100MB+ 的网文 TXT,底层采用流式加载技术,打开巨型小说秒开且不爆内存。
| 格式 (Format) |
渲染引擎 |
听书支持 (TTS) |
选中朗读 |
目录提取 (TOC) |
搜索 (Find) |
备注 (Note) |
| EPUB |
EPUB.js |
✅ |
✅ |
✅ |
✅ |
原生图文混排,完美支持内嵌样式覆盖。可从 iframe 中选中文本开始朗读。 |
| TXT |
Native Fetch |
✅ |
✅ |
❌ |
✅ |
采用 Fetch 流式挂载,打开 100MB 级别巨型小说秒开且不爆内存。 |
| Markdown |
简易解析器 |
✅ |
✅ |
❌ |
✅ |
支持基础的标题、加粗与代码块渲染。可从任意段落开始朗读。 |
📖 快速上手 (Getting Started)
安装 (Installation)
从 VS Code 扩展市场安装:
- 打开 VS Code
- 按
Cmd/Ctrl+Shift+X 打开扩展面板
- 搜索 "VS Reader"
- 点击"安装"
或从 VSIX 文件安装:
- 下载最新版
.vsix 文件
- 按
Cmd/Ctrl+Shift+P 打开命令面板
- 输入
Extensions: Install from VSIX...
- 选择下载的文件
如何打开一本书? (How to Read)
- 方法一(推荐):使用快捷键
Cmd+Alt+R (macOS) 或 Ctrl+Alt+R (Windows/Linux)
- 方法二:命令面板 (
Cmd/Ctrl+Shift+P) → 输入 Reader: Open Book
- 方法三:在资源管理器中右键点击电子书文件 →
Reader: Open Book
⌨️ 键鼠操作指南 (Navigation & Controls)
为了提供最类似于 Kindle 或实体书的体验,本插件设定了极其简易的翻页逻辑。
鼠标 / 触控板
- 点击页面 左侧 30% 区域:向上翻一屏
- 点击页面 右侧 30% 区域:向下翻一屏
- 自由滚动:使用鼠标滚轮或触控板双指滑动
- 选中文本不翻页:选中文字状态下点击不会触发翻页
键盘快捷键 (Shortcuts)
| 快捷键 (Windows/macOS) |
触发动作 (Action) |
→ / PageDown / Space |
下翻一屏 (Page Down) |
← / PageUp |
上翻一屏 (Page Up) |
Home / End |
瞬间跳跃至本书开头 / 结尾 |
Esc |
关闭目录面板 (TOC) |
Ctrl+F / Cmd+F |
唤出全文搜索框 (Find Widget) |
Ctrl+Shift+L / Cmd+Shift+L |
听书:播放 / 暂停 / 从选中位置开始 |
Ctrl+Shift+K / Cmd+Shift+K |
听书:停止朗读 |
🔊 听书功能详解 (TTS Features)
基本使用
Reader 配备了强大的本地语音朗读引擎:
- 无需联网:完全调用你电脑自带的离线语音合成器,不费一丝网络流量
- 即时变速:工具栏可选择 0.75x ~ 1.5x 语速,切换后立即生效
- 语音选择:支持切换系统中所有可用的 TTS 语音
- 自动滚动:朗读时自动滚动并高亮当前段落
- 后台播放:切换到代码编辑窗口,朗读仍在后台继续
🎯 从选中文本开始朗读(新功能)
这是最实用的功能之一:
- 选中想听的段落:用鼠标选中任意文字(至少 10 个字符)
- 点击听书按钮:点击工具栏的 🎧 或按
Cmd/Ctrl+Shift+L
- 智能定位播放:系统会找到包含该文字的段落,从段落开头开始朗读
支持格式:
- ✅ EPUB:支持从 iframe 内选中文本开始
- ✅ TXT:支持从任意段落开始
- ✅ Markdown:支持从任意段落或标题开始
使用场景:
- 快速跳转到书籍中间某章节开始听书
- 重听某个重要段落
- 从上次中断的位置继续(选中附近文字即可)
播放控制逻辑
| 当前状态 |
是否选中文本 |
点击 🎧 后的行为 |
| 未播放 |
无 |
从当前可见位置开始朗读 |
| 未播放 |
有(≥10字符) |
从选中段落开始朗读 ⭐ |
| 播放中 |
无 |
暂停 |
| 播放中 |
有(≥10字符) |
停止旧朗读,从新选中段落开始 ⭐ |
| 暂停中 |
无 |
继续播放 |
| 暂停中 |
有(≥10字符) |
停止旧朗读,从新选中段落开始 ⭐ |
工具栏控制
- 🎧 播放/暂停按钮:开始、暂停、继续朗读
- 语速选择:0.75x / 1.0x / 1.25x / 1.5x
- 语音选择:系统默认 / 中文语音 / 英文语音等
- 自动滚动开关:控制朗读时是否自动滚动到当前段落
🎨 主题支持
- 浅色主题 (Light):白底黑字,适合白天阅读
- 深色主题 (Dark):黑底白字,护眼模式
- 护眼主题 (Sepia):米黄色背景,减少眼睛疲劳
EPUB 格式会自动应用主题色到电子书内容中。
📊 性能优化
- 大文件优化:100MB+ 的 TXT 文件秒开
- 内存管理:流式加载,不会一次性加载整个文件到内存
- 后台恢复:切换标签页后自动恢复阅读位置
🔒 隐私说明
- 完全本地运行:所有阅读和听书功能均在本地完成
- 无网络请求:不上传任何阅读数据
- 离线 TTS:使用系统自带的语音合成,无需联网
📄 许可证 (License)
MIT License - 自由、开源。由开发者为开发者设计。
🤝 贡献 (Contributing)
欢迎提交 Issue 和 Pull Request!
✨ 更新日志
查看 CHANGELOG.md 了解版本历史和新功能。
| |