记录你在 VS Code 中的编码时间,按语言、项目、工作区维度统计,并与桌面端 TimeLens 数据打通。
版本 v0.4.0 · 支持 VS Code ≥ 1.100.0
扩展在 VS Code 启动后激活,通过监听编辑器活动判断当前编码会话,按项目与语言聚合时间,并周期性推送到本机 TimeLens API。
基于编辑器焦点与空闲检测生成编码会话。空闲超过阈值后会自动拆分会话,避免长时间离开被误统计。
支持 basic / standard / detailed 三档追踪粒度,分别记录总时长、语言时长、项目时长。
数据仅发送到本机 TimeLens API,不收集源代码内容或文件路径,API 密钥仅存储在本地 VS Code 设置中。
自动记录每次在 VS Code 中的活跃编码时间,桌面端 VS Code Insights 页面展示总时长与会话数。
standard / detailed 模式下,统计各类编程语言的使用时长并在桌面端展示排行榜。
detailed 模式下按项目/工作区聚合时长,帮助识别主要投入项目。
通过 TimeLens 桌面端生成的桥接密钥对请求签名,未授权工具无法访问本地 API。
支持手动 API 基础 URL、缓存模式(时长 / 下次启动前)与自动备用端口扫描,适配本地 API 动态绑定的场景。
内置 VS Code 侧边栏视图,显示连接状态、今日编码时长、语言/项目排行与快捷操作按钮。
克隆仓库后进入 vscode-extension/ 目录,运行 npm install && npm run package 生成 .vsix,然后在 VS Code 中通过“从 VSIX 安装”加载。
首次激活时会提示配置。也可随时运行命令 TimeLens: Set/Update Extension Bridge Key 或点击侧边栏配置按钮。
v0.4.0 起新增 timelens.apiBaseUrlCacheMode 与 timelens.apiBaseUrlCacheSeconds,与浏览器扩展保持一致。
| 设置项 | 说明 |
|---|---|
timelens.enabled |
是否启用追踪。 |
timelens.apiBaseUrl |
本地 API 地址,默认 http://127.0.0.1:49152。如果桌面端实际绑定了备用端口,可手动修改或清空后依赖自动发现。 |
timelens.apiBaseUrlCacheMode |
duration:按秒缓存发现的 API 地址;startup:本次 VS Code 运行期间缓存,重启后重新发现。 |
timelens.apiBaseUrlCacheSeconds |
duration 模式下的缓存秒数,默认 60,最大 3600。 |
timelens.bridgeKey |
从 TimeLens 桌面端 Settings 获取的 Extension Bridge Key,用于请求签名。 |
timelens.trackingLevel |
basic(仅时长)、standard(+ 语言)、detailed(+ 项目)。 |
timelens.flushIntervalSeconds |
队列刷新间隔,默认 30 秒,范围 5–600 秒。 |
timelens.idleThresholdSeconds |
空闲拆分阈值,默认 120 秒,范围 30–1800 秒。 |
打开 TimeLens 桌面端 → Settings → Local API / Extension Bridge → 点击复制 Extension Bridge Key。侧边栏和命令面板均可输入并保存。
| 命令 | 作用 |
|---|---|
TimeLens: Open Sidebar | 打开 TimeLens 侧边栏视图。 |
TimeLens: Enable Tracking | 启用编码追踪。 |
TimeLens: Disable Tracking | 禁用编码追踪。 |
TimeLens: Show Tracking Status | 显示当前状态与待同步队列大小。 |
TimeLens: Set Detail Level | 切换 basic / standard / detailed 追踪粒度。 |
TimeLens: Set/Update Extension Bridge Key | 输入或更新桥接密钥。 |
TimeLens: Open Dashboard | 打开桌面端 Dashboard(编辑器标题栏图标)。 |
TimeLens: Set/Update Extension Bridge Key 粘贴保存。timelens.apiBaseUrl 是否与桌面端实际端口一致。TimeLens: Open Dashboard 强制刷新快照。TimeLens v2.0.2 桌面端会在 49152 不可用时自动扫描 49152–50151 并绑定到第一个可用端口。扩展也支持自动回退扫描;如未触发,请检查 timelens.apiBaseUrl 是否留空或正确。