GitLens 是 VS Code 中增强 Git 历史可视化的工具,需启用 codeLens、historyExplorer 和 gitCommands 三项核心设置;Blame Annotated Line 用于单行快速溯源,Git: Show Blame Annotations 用于全文件演进分析;History Explorer 空白常因 maxDepth 限制、文件未跟踪或子模块禁用导致;性能卡顿时应关闭 recentChange、statusBar 及冗余视图。

GitLens 不是 Git 的替代品,而是 VS Code 里把 Git 历史“具象化”的关键工具——它能让你在不离开编辑器的情况下,一眼看出某行代码是谁、什么时候、为什么改的。前提是配置得当,否则容易卡顿、显示空白或查不到提交。
GitLens 必须启用的三个核心设置
安装插件后默认功能很弱,必须手动打开关键开关:
-
"gitlens.codeLens.enabled"设为true:否则右侧行号旁不会显示“作者/提交时间”等内联提示 -
"gitlens.historyExplorer.enabled"设为true:否则侧边栏打不开历史视图(Ctrl+Shift+H) -
"gitlens.gitCommands.enabled"设为true:否则右键菜单里没有“Compare with Previous Revision”这类实用命令
这些都在 VS Code 设置里搜 gitlens 即可找到,不要依赖默认值。
右键“Blame Annotated Line”和内联 Blame 的区别
同一行代码,右键菜单里有两个相似选项:Blame Annotated Line 和 Git: Show Blame Annotations。前者只标注当前行并高亮作者头像;后者会在整文件每行左侧显示完整 blame 信息(作者、简写 commit、时间),且支持鼠标悬停看完整 message。
- 日常快速定位某行改动 → 用
Blame Annotated Line - 审查整个文件演进脉络 → 先开
Git: Show Blame Annotations,再点某行左侧 commit hash 跳转详情 - 如果点了没反应,先检查当前文件是否在 Git 仓库内(状态栏左下角应有分支名)
History Explorer 找不到旧提交?检查这三点
点击侧边栏 GitLens 图标 → History Explorer,有时列表为空或只显示最近几次提交,常见原因:
-
"gitlens.historyExplorer.advanced.maxDepth"默认是100,大文件或长期未提交的分支可能被截断,可调高到500 - 当前打开的是未被 Git 跟踪的新建文件(
Untracked),History Explorer 不会显示任何记录 - 项目用了子模块(submodule),而
"gitlens.advanced.gitSubmodules.enabled"是false(默认),需手动开启才能看到子模块内的历史
性能卡顿或 CPU 占用高时优先关什么
GitLens 功能越全,资源消耗越大,尤其在大型 monorepo 或 Windows + WSL 混合环境下:
- 关掉
"gitlens.codeLens.recentChange":这个会为每行计算“最近一次修改”,非常耗时 - 禁用
"gitlens.statusBar.enabled":状态栏右侧的 Git 信息常引发重绘延迟 - 避免同时打开多个 GitLens 视图(比如 History Explorer + Compare View + File History),它们各自维护独立 Git 查询进程
复杂项目里,Blame 和 History Explorer 二选一用更稳;真要深挖某次变更,不如直接在终端跑 git log -L 或 git blame -L,结果更准也更快。










