在 VSCode 里用 GitLens 查看每行代码的作者和修改时间(行内 blame),是团队协作中很实用的功能。默认情况下它应该是开着的,但如果你发现每行末尾没有显示作者名,可能是扩展没激活、仓库没配置或者模式不对。下面我会按自己排查的顺序讲清楚。
先确认 GitLens 是否正常工作
打开一个包含 Git 仓库的文件夹,看看左下角状态栏有没有 GitLens 的图标(一把小锤子或者字母 G)。如果图标是灰色的或者没有,说明扩展没加载。可以点开扩展侧栏,搜索 GitLens,确认安装后重启窗口。如果还是没反应,检查一下工作区是不是真的初始化了 Git 仓库,终端里跑 git status 试试。
启用行内 blame 的标准步骤
要启用 GitLens 的代码作者 blame 行内显示,首先确保已安装 GitLens 扩展(最新版),并打开一个包含 Git 仓库的文件夹。然后,按下 Ctrl+Shift+P 打开命令面板,输入“GitLens: Toggle Line Blame”并回车。如果该命令无反应,可尝试在设置中搜索“gitlens.blame.line.enabled”,将其设为true。注意,修改设置后可能需要重新加载窗口才能生效。
上面这段操作是官方推荐的方式,但我遇到过几次命令面板里找不到的情况,通常是 GitLens 版本太旧。你可以去扩展商店检查更新,或者直接卸载重装。设置项 gitlens.blame.line.enabled 在较新的版本里已经改成了 gitlens.blame.mode 控制,所以如果你搜索不到 line.enabled,可以直接搜 gitlens.blame.mode,把它设为 all。改了之后,建议点一下重新加载窗口(Ctrl+Shift+P 输入 Developer: Reload Window)让配置生效。
常见问题:启用了但看不到信息
一个常见问题是启用了行内 blame 但仍看不到信息,通常是因为 GitLens 处于“Current Line”模式而非“All Lines”模式。点击编辑器右侧的 GitLens 图标,选择“Blame”并切换显示范围,或在设置中将“gitlens.blame.mode”改为“all”。另外,如果代码文件不属于任何 Git 仓库,或者文件路径被 .gitignore 排除,也会导致 blame 不显示。
我自己的习惯是,如果切换后还是只有当前行显示,就按上面说的去设置里把模式改成 all。注意,gitlens.blame.mode 有三个值:current、all 和 mixed(部分显示)。如果团队里有人喜欢只显示当前行,可以保留默认,但我个人觉得 all 模式更利于全局回顾。另外,如果你打开的文件是在 node_modules 或者 .gitignore 里,GitLens 默认会忽略,这时候需要在设置里找 gitlens.blame.ignoreWhiteSpace 或者 gitlens.advanced.blame.customArguments 调整,但不建议这样做,因为忽略的文件通常不需要追责。
性能与视觉干扰:何时不该一直开着
启用行内 blame 后,每行代码末尾会显示作者和修改时间,这可能影响编辑器的渲染性能,尤其是在大型文件或低配机器上。此外,若团队协作频繁,行内注释可能造成视觉干扰。建议按需使用,而非长期开启。临时查看时,可通过 GitLens 的悬停提示或侧边栏 Blame 视图替代,避免影响代码阅读流畅性。
对于大型项目,比如一个文件上千行,开行内 blame 会导致滚动时卡顿,我遇到过几回。这时候可以关掉行内,改用鼠标悬停到行号附近看弹窗,或者按 Ctrl+Shift+G 打开侧边栏的 Blame 视图(前提是 GitLens 在侧边栏激活了)。另外,GitLens 设置里有个 gitlens.blame.togglable,设为 true 后,点击状态栏的 GitLens 图标就能循环切换显示模式:行内、悬停、关闭。这个很适合需要快速开关的场景,不用进设置改。
更灵活的控制:按文件切换与快捷键
如果你只想个别文件开行内 blame,我建议右键文件标签页选“Toggle GitLens Blame”,这样只影响当前文件,不改变全局设置。或者自定义快捷键:打开键盘快捷键设置(Ctrl+K Ctrl+S),搜索“GitLens: Toggle Line Blame”,绑定一个你顺手的组合键,比如 Ctrl+Shift+L。这样在判断代码归属时只需一按,用完再按一下关掉,既不长期占用性能,又不会干扰视野。
最后提醒一下,如果你在团队里负责代码 review,行内 blame 能帮你快速定位谁改了哪一行,但别把它当作唯一的依据,因为 Git 历史可能被 rebase 或 squash 打乱。配合 GitLens 的“File History”侧栏查看整体提交记录会更准确。