word count插件是vscode中唯一靠谱的markdown字数统计方案,因其轻量开源、仅监听文档变更、不卡顿、中文统计明确可控;其他含“count”的插件常高频全量扫描导致延迟,而它默认跳过plaintext但正确支持markdown模式,状态栏实时显示words/chars,选区自动切换统计,且配置精细(如includewhitespace控制空格计入)。

VSCode 本身不提供 Markdown 字数统计,Word Count 插件是目前最轻量、最稳定的选择——它不卡顿、不误判、状态栏实时刷新,且对中文支持明确可控。
为什么 Word Count 是唯一靠谱的字数统计方案
其他名字带“Count”的插件(比如 Character Count)常在编辑 Markdown 时每 100ms 全量扫描文本,打字延迟肉眼可见;而 Word Count(作者:ms-vscode)只监听文档变更事件,计算逻辑极简,大文件下也无压力。它默认跳过 plaintext,但会正确识别 markdown 模式——只要右下角状态栏显示 “Markdown”,它就工作。
- 不依赖外部命令或终端脚本,纯前端实现
- 不读取 AST 或语法树,只基于编辑器最终渲染文本(所以折叠代码块
/// #region不影响统计) - 不会把
.lock文件或图片当文本扫——它只统计当前打开的、语言模式为markdown的文件
安装后状态栏没显示?先查这四点
装完插件不显示 Words: 127 | Chars: 843,基本是以下某一项被卡住:
-
wordcount.showInStatusBar被显式设为false(检查settings.json是否有这行) - 当前文件语言模式不是
markdown:右下角点“Plain Text”手动切为Markdown,或重命名文件为readme.md - 插件安装后没重载窗口:按
Cmd+Shift+P→ 输入Developer: Reload Window回车 - 状态栏右侧被 GitLens、Error Lens 等插件占满:Word Count 会静默退场,不是 bug,是 VSCode UI 限制
中文、标点、空格怎么算?关键配置项说明
Word Count 对“字数”的定义很实在:中文字符每个算 1 字,英文按空格/标点切分单词,标点单独计数,空格和换行符默认不计入 words 但计入 chars。如果你要“含空格总字符数”,必须开这个:
-
wordcount.includeWhitespace:true(默认false)→ 空格、制表符、换行符都进chars -
wordcount.includeNonWordChars:false(默认)→ 中文顿号、破折号、省略号等标点不计入words,但计入chars -
wordcount.excludedLanguages别加"markdown",否则直接消失;如果误加了"plaintext",会导致无后缀文件不统计
注意:Chars 是 JavaScript string.length 值,即 Unicode 码点数,不是 UTF-8 字节数。例如 你好 显示 Chars: 2,但 echo -n "你好" | wc -c 输出 6——别拿它校验协议字段长度。
选中一段快速看字数?别点右键菜单
很多人右键选区找“统计字数”,但 Word Count 不走这个路径。正确做法是:
- 用鼠标或
Shift+方向键任意拖选一段文本 - 状态栏**自动切换为选区统计**,显示类似
Selected: Words: 87 | Chars: 521 - 取消选中后,立刻恢复全文统计
- 确保
wordcount.countSelectedText为true(默认已开)
多光标编辑时(如 Ctrl+D 多次选中相同词),只要任意一个光标有选区,就按选区统计;全都没选区才回退到全文统计。这个动态切换逻辑很实用,但容易被忽略——它不靠按钮触发,全靠选区存在与否。











