WakaTime 和 Code Time 是 VSCode 中唯二稳定统计每日编码时间的插件,仅响应编辑事件;数据缺失多因 CLI 未就绪或配置未生效,项目名异常需手动建 .wakatime-project 文件,Code Time 需完成登录、API 连通及工作区信任三步才开始统计。

WakaTime 和 Code Time 是目前 VSCode 中唯二能稳定统计「每天敲代码时间」的插件,但它们不统计运行时间、不统计空闲时长、也不统计只读浏览行为——只响应真实编辑事件(输入、删除、保存、切换文件等)。装上就出数据?几乎不可能。90% 的“没数据”问题都卡在 CLI 未就绪或配置文件未生效。
WakaTime 插件没数据?先验证 wakatime-cli 是否真在跑
wakatime-cli 不是可选组件,它是核心引擎;VSCode 插件只是个触发器。终端里执行 wakatime-cli --version 报 command not found,那状态栏显示 “Connecting…” 就是必然结果。
- macOS/Linux:自动安装脚本常因代理或 SSL 拦截静默失败,别信 curl 那行命令输出的 “Success”,要手动验证
which wakatime-cli是否返回路径 - Windows:PowerShell 脚本权限和路径写死问题多,直接去
<a href="https://www.php.cn/link/424b300d70a3a4bdbc959dacdd5d77f9">https://www.php.cn/link/424b300d70a3a4bdbc959dacdd5d77f9</a>下最新wakatime-cli-windows-amd64.zip,解压到C:\wakatime\,再把该路径加进系统PATH - 装完必须彻底退出 VSCode(包括菜单栏残留进程),再重开——它只在启动时读一次 CLI 可执行路径
为什么项目名全是 “Unknown Project”?Git 根目录不是万能的
WakaTime 默认靠 Git 仓库根目录名识别项目,但你日常开发往往不满足这个条件:
- 打开的是 monorepo 子目录(如
packages/frontend),而.git在项目顶层 - 多个独立服务目录并排打开(
auth-service、payment-service),但没各自初始化 Git - 使用 VS Code 工作区(
.code-workspace)管理多个文件夹,WakaTime 完全不认这个文件
最稳方案:在每个项目根目录手动建一个 .wakatime-project 文件,内容就一行纯文本,比如 backend-go 或 admin-vue3。不需要 Git,不依赖工作区,重启 VSCode 后立刻生效。
Code Time 显示 “Offline” 或面板空白?登录 ≠ 启动统计引擎
Code Time 必须完成三件事才开始计时:成功登录、API 连通、工作区被信任。右下角没出现 Code Time: Online,说明连第一步都没走完。
- 登录不能只点通知栏的 “Sign in” —— 部分版本该按钮失效,务必用命令面板执行
CodeTime: Sign In - 登录后检查
~/.codetime/config.json,确认有非空的user_id和api_key - 终端跑
curl -I <a href="https://www.php.cn/link/3327d2a42b3c91cf73eaef07f32e80b6">https://www.php.cn/link/3327d2a42b3c91cf73eaef07f32e80b6</a>,返回非200就是网络问题(公司代理/hosts 屏蔽/防火墙) - 当前工作区若显示
Restricted Mode,必须点击右下角提示 →Trust this workspace,否则编辑事件根本不会上报
统计不准、时长对不上?别怪插件,看心跳机制和语言映射
WakaTime 默认每 120 秒发一次心跳(heartbeat),本地缓存最多 1000 条记录。这意味着:
- 关机前 90 秒写的代码,可能延迟上传甚至丢失(尤其离线状态下)
-
Dashboard上 “Today” 数据有 5–10 分钟延迟,刚保存就刷新是徒劳 - TypeScript 文件被算成 JavaScript?编辑
~/.wakatime.cfg,在[languages]下加:typescript = ts,tsx
真正容易被忽略的是:所有统计都依赖文件语言模式是否正确。VSCode 右下角显示 Plain Text,哪怕你写的是完整 Python 语法,WakaTime 和 Code Time 都不会计入——必须手动点击语言标识 → 选 Python 或通过 Change Language Mode 命令设置。



















