优先用VSCode内置Git功能查看历史,如命令面板输入“Git: View File History”;需文件已git add、仓库识别正常(状态栏显示分支名)、索引完整,否则提示“no history”。

VSCode 查看 Git 记录,优先用内置功能;GitLens 是增强工具,不是必需品——装了不等于能立刻看到 blame 信息,得满足仓库、文件、索引三重条件。
Git: View File History 能直接用,但只对已跟踪文件生效
这是最稳的起点,不依赖插件。命令面板按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 Git: View File History 回车即可。
- 必须确保当前编辑器打开的是已被
git add过的文件(git status能列出它),否则提示“no history” - 右下角状态栏没显示分支名(如
main),说明 VSCode 没识别到 Git 上下文——检查是否打开了正确文件夹(不是单个文件),且该文件夹里有.git/ - 点开某次提交后,默认只显示作者、时间、message;要看改了哪几行,得手动点击右侧面板顶部的
Diff标签 - 如果
Diff标签是灰色或空白,常见原因是:该文件在那次提交中是二进制(如.png)、被.gitattributes忽略,或当前工作区路径和仓库根不一致
GitLens 安装失败?先查 VSCode 版本和市场连接
GitLens 要求 VSCode ≥ 1.70;国内用户卡在“搜不到”“安装后禁用”,基本都是市场源问题。
- 打开
Help → About确认版本号;若低于 1.70,先升级 VSCode 再操作 - 国内常见现象:扩展市场空白、搜索无结果——不是插件故障,而是默认服务器访问不稳定
- 临时解决:设置中搜索
extensions.gallery,把serviceUrl和cacheUrl改为https://marketplace.visualstudio.com/_apis/public/gallery(注意末尾无/) - 安装路径:左侧扩展图标 → 搜索
GitLens→ 找作者GitKraken的官方插件 → 点安装 → 重启 VSCode(部分功能需重启才加载)
装完 GitLens 却不显示行内 blame?文件还没进 Git 索引
gitlens.blame.autoShow 默认开启,但只对已暂存或已提交的文件生效;新文件、.gitignore 排除项、未 git init 的目录,全都不显示。
- 快速验证:终端运行
git status,确认目标文件在 “Changes to be committed” 或 “Modified” 列表里 - 底部状态栏没分支名?右键编辑器空白处,菜单里若没有
GitLens: Toggle Blame Annotations,大概率是仓库未识别 - 别调设置——先执行
git add . && git commit -m "init",再刷新编辑器,行内 blame 通常立刻出现 - 大文件(>500 行)或机械硬盘上,
autoShow会明显卡顿;建议关掉它(设gitlens.blame.autoShow为false),改用手动快捷键:Ctrl+Alt+H(Win/Linux)或Cmd+Alt+H(macOS)
为什么刚 git pull 后 blame 没更新?GitLens 不实时调用 git blame
GitLens 的 blame 结果来自本地 Git 索引缓存,不是每次悬停都跑一次 git blame 命令。所以拉取新提交后,信息可能滞后。
- 手动刷新索引:命令面板输入
GitLens: Refresh,或者右键编辑器 →GitLens: Refresh GitLens - 状态栏右下角若显示
GitLens: indexing,说明正在后台加载,等几秒再试 - 如果你刚重命名过文件(
git mv),默认不追溯历史;需开启gitlens.codeLens.scopes.renames(设为true) - 二进制文件(如
.pdf、.zip)默认跳过 blame;如需强制启用,设gitlens.codeLens.ignoreBinaryFiles为false
最容易被忽略的是:GitLens 的 blame 显示强依赖 Git 本地索引的完整性,而不是你当前看到的文件内容。换言之,它反映的是 Git 认为“这行代码最后一次是谁改的”,不是“你编辑器里这行现在长什么样”。索引没刷新、文件没暂存、重命名没开支持——这三个点踩中任意一个,blame 就会断。


















