vscodecounter统计结果离谱是因为默认“啥都算”,必须开启"usegitignore":true并配置exclude排除node_modules等非源码目录,否则20万行多为依赖贡献。

VSCode 本身不统计代码行数,必须装扩展;但装错或配置错,结果会虚高几倍——比如把 node_modules、dist、.gitignore 里的文件全算进去。
VSCodeCounter 插件安装后为啥统计结果离谱?
默认行为就是“啥都算”:包括压缩包、构建产物、依赖目录、配置文件、Markdown 文档。你看到的 “20 万行”,大概率是 node_modules 贡献的。
- 必须手动开启
"VSCodeCounter.useGitignore": true,否则它完全无视你的.gitignore -
"VSCodeCounter.exclude"是兜底项,建议至少加这几条:["**/node_modules/**", "**/dist/**", "**/.next/**", "**/build/**", "**/*.md", "**/*.json", "**/package-lock.json"] - 别信“安装即用”——插件市场里同名插件有多个分支,认准作者是
hollowtree的那个(最新更新日期在 2025 年底)
统计时选 “Count lines in workspace” 还是 “Count lines in directory”?
二者底层逻辑一样,区别只在起点范围:workspace 从整个工作区根目录开始,directory 允许你右键某个子文件夹单独统计。如果你项目里混着 demo、脚手架模板、旧分支备份,直接用 workspace 容易污染结果。
- 推荐先右键业务源码目录(如
src或app),选Count lines in directory - 如果要用
workspace,务必确认你的settings.json里已设"VSCodeCounter.useGitignore": true,且.gitignore真的覆盖了所有非源码路径 - 执行命令前,留意 VSCode 右下角是否显示当前工作区路径——有时打开的是子文件夹而非根目录,
workspace就会漏统计
结果里 “code” “comment” “blank” 到底怎么算的?
code 行指去掉空行和纯注释行后的有效逻辑行(不是语句数,也不是 token 数);comment 仅统计整行都是注释(如 // xxx 或 /* yyy */ 单行形式);blank 是真正空着的行(不含空格、制表符)。
- 它不识别 JSX 中的花括号内表达式、Vue 模板中的
{{ }},这些会被当作文本行计入code - 多行注释块(
/* ... */)只有首尾两行可能被标为comment,中间行算code——这是设计如此,不是 bug - 若想快速验证某类文件是否被纳入,临时把
"VSCodeCounter.outputAsCSV": true,生成 CSV 后用 Excel 筛选language列看分布
配置项改完要重启 VSCode 才生效,热重载不触发插件重新读取 settings.json;另外,.VSCodeCounter 缓存目录不会自动清理,旧结果容易误点开——建议定期删掉项目根目录下的 .VSCodeCounter 文件夹。











