wakatime 在 vscode 中仅在敲击、保存或切换文件时计时,不统计空闲时间;需确保 wakatime-cli 正确安装并配置有效 api_key,且项目与语言推断正常。

WakaTime 在 VSCode 里不会自动统计你“打开编辑器但没写代码”的时间——它只在你真实敲击、保存、切换文件时才计时,这是设计使然,不是插件坏了。
安装后没数据?先检查 wakatime-cli 是否真正就绪
WakaTime 插件本身只是个中转,背后依赖本地命令行工具 wakatime-cli。装完插件不等于装好了底层。常见现象是插件状态栏显示「Connecting…」或一直空白。
- 插件首次启动时会自动下载
wakatime-cli,但可能卡在公司代理、防火墙或国内网络(尤其 macOS / Linux 下走 curl 下载失败) - 手动验证:终端执行
wakatime --version,若报command not found,说明没装好 - 解决办法:去 https://www.php.cn/link/5db98ad3d38184a2f9db88f5bb1c62c1 下载对应平台的二进制,放进
/usr/local/bin(macOS/Linux)或加到 WindowsPATH,再重启 VSCode - Windows 用户特别注意:别用 PowerShell 安装脚本(容易权限/路径错乱),直接下 zip 解压 + 手动配 PATH 更稳
~/.wakatime.cfg 配置不对,会导致静默失败
配置文件写错一行,WakaTime 就可能完全不发数据,且不报错——它默认把错误日志写进 ~/.wakatime.log,但没人提醒你看。
- 必须存在的最小配置项只有
api_key,从 https://www.php.cn/link/08a9b8693c1c3ce49fd327977f837abf 复制,粘贴进~/.wakatime.cfg的[settings]下方 - 常见手误:
api_key = xxxxx写成apikey = xxxxx(少下划线)、或开头多空格、或用了中文等号 - 敏感项目如
hidefilenames或ignore路径写错,可能导致整块项目不计时,建议初期先清空配置,只留api_key - 改完配置后,VSCode 不会自动重载——关掉所有窗口,再打开,或命令面板运行
Developer: Reload Window
为什么某些文件类型或操作不计时?和 project、language 推断逻辑强相关
WakaTime 不是按「你在哪个 tab」来计时,而是靠文件路径推断 project,靠文件后缀+内容推断 language。推断失败,就归为「Other」甚至不记录。
- 单个无后缀文件(比如
Dockerfile没扩展名)、或用code .直接打开一个文件夹但没.git,WakaTime 可能无法识别 project,导致时间分散在多个「Unknown Project」里 - 前端项目里打开
index.html,它可能识别为HTML而非JavaScript,哪怕你正在写<script></script>块——因为语言检测优先看文件扩展名 - 临时文件如
Untitled-1、REPL、或 SSH 远程开发(WSL / Dev Containers)未启用wakatime-cli的远程支持,都会跳过计时 - 想验证:打开
~/.wakatime.log,搜Sending heartbeat,看 log 里写的entity(文件路径)、project、language是否符合预期
最常被忽略的是:WakaTime 默认每 2 分钟才上报一次心跳,且只上报「有变更」的文件。连续 10 分钟光标不动、不输字符、不保存,就不会产生新记录——它不是秒表,是行为分析器。











