Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>小说创作助手New to Visual Studio Code? Get it now.
小说创作助手

小说创作助手

NeoVita

|
34 installs
| (0) | Free
字数统计(排除空白字符)、敏感词检测、码字计时与速率 - 专为小说/网文创作优化
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VSCode 小说辅助插件

面向小说/网文写作的 VS Code 插件,提供:字数统计、敏感词高亮、码字计时与速率显示。

功能

  • 字数统计:状态栏显示当前文档有效字符数(排除空白字符和控制字符);点击可查看详细统计。
    • 有效字符:排除所有空白字符(空格、Tab、换行、回车等)和控制字符
    • 细分显示:总有效字符 / 中文字数 / 英文字数
    • 支持文件类型:.txt 和 .md
  • 敏感词检测:读取 敏感词.txt 或 敏感词.md(空白分隔),在编辑器中用红色高亮匹配词汇。
  • 码字计时:检测到文本实际变更(插入/删除)即启动计时;连续 5 秒无变动时自动暂停。
  • 码字速率:基于净输入字符数与实际码字时间计算,单位为每小时字符数。
  • 自动空行:检测到换行时自动插入重叠换行符,形成段落间空一行的效果(.txt 和 .md 都支持)。

使用说明

  1. 打开本项目文件夹。
  2. 按 F5 启动 Extension Development Host 进行调试。
  3. 在工作区根目录(或当前文件同目录)创建/修改 敏感词.txt 或 敏感词.md:
词1 词2 敏感词
  1. 打开任意 .txt 或 .md 文件开始码字,状态栏会显示"字符 / 计时 / 速率"。
  2. 点击状态栏"字符"项可查看中文/英文统计。
  3. 按回车键会自动添加空行,便应对写作习惯。

敏感词文件规则

  • 文件名称:敏感词.txt 或 敏感词.md
  • 查找优先级:优先当前文件目录 → 工作区根目录;优先 .txt → 再 .md
  • 分隔方式:任意空白字符(空格/换行/Tab)
  • 建议:一行一个词或空格分隔均可

敏感词配置

  1. 复制 敏感词.example.txt 为 敏感词.txt
  2. 编辑 敏感词.txt,添加需要检测的词汇
  3. 词汇用空格或换行分隔

计时与速率口径(重要)

  • 计时启动:仅当发生"插入或删除"时,才被视为有字符变动,会启动或重置计时器。
  • 自动暂停:连续 5 秒无任何文本变更,计时器和速率刷新器同时暂停。
  • 净输入统计:globalTypedCount = 累计所有"插入字符数 - 删除字符数",删除操作会减少净输入。
  • 速率公式:rate = round(globalTypedCount / (globalAccumulatedSeconds / 3600))
    • 使用净输入而非总文档字符,更能反映实际有效写作效率
  • 字符统计规则:
    • 有效字符定义:排除 [\s\u0000-\u001f\u007f-\u009f](空白+控制字符)
    • 中文统计:[\u4e00-\u9fff]
    • 英文统计:[A-Za-z]

自动空行机制

插件在 本地 .txt 和 .md 文件 中监听文本变化:

  • 当检测到本次变更文本中包含换行(\n)时,会 额外插入一个换行符,从而形成“段落间空一行”的效果。
  • 该逻辑仅对当前活跃编辑器生效,避免后台文档被意外修改。
  • 使用 isAutoFormatting 保护开关防止递归编辑。

状态栏显示说明

  • 字符:显示有效字符数(实时计数),可点击弹出详细统计。
  • 计时:显示累计码字时间(hh:mm:ss 格式),5 秒无操作时暂停。
  • 速率:显示每小时字符速率(字/h),基于净输入和实际码字时间计算。

已知限制

  • 自动空行基于文本变化事件,某些输入法/编辑行为可能将多步变化合并,导致体验与“按键级监听”不同。
  • 若需要严格按“按键回车”触发,更适合用 type 命令拦截(键位级),但实现复杂度更高。

备注

  • 代码内已补充较详细中文注释,便于二次开发与定位问题。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft