安装 word count 插件是 vscode 实现实时字符与单词统计的最直接有效方案,它轻量稳定、仅监听当前文档、支持选区统计及中文字符计数(需手动开启配置)。

装 Word Count 插件是最直接有效的方案
VSCode 原生不提供字符统计,状态栏默认只显示行号、编码、换行符类型。想让当前文件的字符数(Chars)和单词数(Words)实时出现在右下角,唯一轻量且稳定的方式是安装官方维护的 Word Count 插件(作者:ms-vscode)。它不扫描整个工作区,只监听当前文档变更,编辑大文件也不卡顿。
常见错误现象:装完插件后状态栏没反应。大概率是以下几点之一:
-
wordcount.showInStatusBar被显式设为false(检查settings.json是否有这行) - 当前文件语言模式是
plaintext(右下角显示“Plain Text”),需手动点击切换为Markdown或Text - 插件安装后没重载窗口:按
Cmd+Shift+P→ 输入Developer: Reload Window回车 - 状态栏右侧被
GitLens、Error Lens等插件占满,Word Count会静默退场(VSCode UI 限制,非 bug)
选中文本时状态栏自动切换为选区统计
很多人右键找“统计字数”菜单,但 Word Count 不走这个路径。正确做法是直接用鼠标或 Shift+方向键 选中任意文本——状态栏立刻变成 Selected: Words: 12 | Chars: 67;取消选中后,自动恢复全文统计。
如果没切换,检查配置项是否启用:
-
"wordcount.countSelectedText": true(默认已开,但可能被其他配置覆盖) - 多光标编辑时(如
Ctrl+D多次选中相同词),只要任一光标有选区,就按选区统计;全无选区才回退到全文 - 折叠代码块(如
/// #region)不影响统计,插件读的是编辑器最终渲染文本,不是 AST
Chars 是 Unicode 码点数,不是 UTF-8 字节数
状态栏里的 Chars: 843 表示该文本包含 843 个 Unicode 码点,不是实际占用的字节数。例如:
-
"你好"→Chars: 2,但echo -n "你好" | wc -c输出6 -
"??"(两个 emoji + ZWNJ)→Chars: 3,UTF-8 占 12 字节 -
string.length就是它的全部依据,不涉及编码层解析
别改 settings.json 想让它显示字节数——它没有 byteCount 字段,也做不到。真要查某一行字节数,复制内容粘到终端跑:echo -n "xxx" | wc -c(macOS/Linux)或 [System.Text.Encoding]::UTF8.GetBytes("xxx").Length(PowerShell)。
中文字符单独计数需要手动开启配置
默认状态栏只显示 Words 和 Chars,其中 Words 对中文是“每个汉字算 1 个词”,不等于“纯中文字符个数”。要显示 Chinese: N,必须在 settings.json 中加:
"wordcount.countChineseCharacters": true
生效前提:
- 文件语言模式必须是
Markdown或Text(不能是plaintext) - 文件里至少有一个中文字符(U+4E00–U+9FFF 等 CJK 区块),否则该字段不显示
- 文件大小不超过
wordcount.maxFileSize限制(默认 10MB,超限会主动降级) - 别误加
"wordcount.excludedLanguages": ["markdown"]这类排除项,否则整个统计消失
注意:这个配置只统计汉字、日文平假名/片假名、韩文音节,不含中文标点或全角数字。如果项目要求“含空格总字符数”,还得额外开 "wordcount.includeWhitespace": true。











