VS Code Counter 插件默认生成的 results.md 已含按文件类型(language)分组的 Languages 表格,但需配置 fileExtensions 和 exclude 规则以确保准确性;时间戳子目录天然支持按日期归档,可结合 pandoc 转 HTML 或预览截图实现轻量归档。

VS Code Counter 插件本身不支持按文件类型+日期自动归档报表,但通过合理配置 + 少量手动操作,可以稳定产出带时间戳、按语言分组的可读报表。
如何让 results.md 包含按文件类型(language)分组的明细
默认生成的 results.md 已包含 Languages 表格,但容易被忽略的是:它只统计插件识别出的语言,且依赖文件后缀与内容双重判断。常见问题包括:
-
package-lock.json或yarn.lock被误判为JSON并计入代码行(实际应排除) -
.ts文件若含大量 JSDoc 注释,comment行可能偏高,但code行仍准确 - 自定义后缀(如
.vue、.astro)需显式加入VSCodeCounter.fileExtensions
实操建议:
- 在项目根目录的
.vscode/settings.json中添加:"VSCodeCounter.fileExtensions": ["js", "ts", "jsx", "tsx", "vue", "astro"]
- 用
exclude明确过滤干扰项:"VSCodeCounter.exclude": ["**/node_modules/**", "**/dist/**", "**/*.lock", "**/coverage/**"]
- 统计后直接打开
.VSCodeCounter/<timestamp>/results.md</timestamp>,Languages表格即为按文件类型聚合的结果
.VSCodeCounter 子目录命名规则与日期提取
插件每次运行都会创建形如 .VSCodeCounter/2026-04-12T20-37-15.123Z 的子目录,其中时间戳是 ISO 8601 格式,精确到毫秒。这个路径名就是天然的“按日期生成报表”的依据。
注意点:
- 时间基于本地系统时区生成(非 UTC),但字符串中带
Z后缀,实际是 UTC 时间 —— 这是 VS Code Counter 的一个固定行为,无需修改 - 不能靠修改系统时间来伪造目录名,插件会校验时间逻辑,异常时间可能导致统计中断
- 如果需要批量处理多个时间戳目录(例如对比周报),可用 shell 脚本按
ls -t .VSCodeCounter排序取最新两个
自动生成带时间戳的 HTML 报表(替代 results.md)
插件原生只输出 results.md 和 results.txt,但你可以用极简方式转成更易分享的 HTML:
- 统计完成后,进入对应时间戳目录:
cd .VSCodeCounter/2026-04-12T20-37-15.123Z
- 用
pandoc一行转 HTML(需提前安装):pandoc results.md -o report-2026-04-12.html
- 或纯前端方案:把
results.md拖入 VS Code,右键 → “Open Preview to the Side”,截图存为 PDF 即可归档
这种做法绕过插件限制,又不引入构建流程,适合临时性交付场景。
真正容易被忽略的细节是:插件不会自动清理旧的 .VSCodeCounter 目录,长期运行后可能堆积几十个时间戳子目录。建议每月手动删一次,或加个定时脚本 find .VSCodeCounter -mindepth 1 -mtime +30 -exec rm -rf {} +。


















