如何让VS Code显示git diff --cached的暂存区与上次提交的差异标记?
让VS Code显示Git暂存区与上次提交的侧边差异标记
当然可以搞定这个需求!VS Code的Git集成其实自带了这个功能,不用依赖命令行就能看暂存区和上次提交的差异标记,这里有两种实用方法:
临时切换查看(快速上手)
- 打开VS Code侧边栏的源代码管理面板(快捷键
Ctrl+Shift+G/Cmd+Shift+G)。 - 在面板顶部,你会看到"更改"和"暂存的更改"两个区域——直接点击**"暂存的更改"**的标题行(就是显示你暂存了多少文件的那一行)。
- 切换后,编辑器左侧的侧边差异标记(绿色新增行、红色删除行等)就会自动对应
git diff --cached的结果,也就是暂存区和上次提交(HEAD)的对比。
设置默认显示(一劳永逸)
如果你希望每次打开VS Code,只要有暂存文件就默认显示暂存区与上次提交的差异,可以修改用户设置:
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入Preferences: Open Settings (JSON)并回车。 - 在打开的
settings.json文件中添加以下配置:
"git.diffScope": "staged"
- 保存文件后,VS Code就会默认以暂存区和HEAD的对比作为差异显示范围,执行
git add .后,侧边的标记会自动更新为暂存区与上次提交的差异。
另外,你也可以通过命令面板快速触发:输入Git: Compare Staged to HEAD,选择对应的文件,编辑器会直接展示暂存区和HEAD的差异对比,侧边标记也会同步更新。
内容的提问来源于stack exchange,提问作者konrados




