配置VS Code为Git的默认差异和合并工具:1. 设置difftool为vscode并指定命令code --wait --diff $LOCAL $REMOTE;2. 设置mergetool为vscode并使用命令code --wait $MERGED;3. 可选关闭提示;4. 使用git difftool或git mergetool调用VS Code处理差异与冲突,保存后自动继续。

要将 VS Code 设置为 Git 的默认合并工具(Mergetool)和差异工具(Difftool),只需在 Git 配置中指定相应的命令即可。VS Code 本身不原生支持等待用户完成合并的模式,但通过合理配置可以在大多数场景下正常使用。
1. 配置 VS Code 为 Git Difftool
运行以下命令,让 Git 使用 VS Code 打开文件对比:
git config --global diff.tool vscodegit config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"
说明:
– --wait:使命令暂停,直到文件关闭(对 merge 场景重要)
– --diff:以分屏形式显示两个文件的差异
– $LOCAL $REMOTE:Git 提供的变量,表示待比较的文件
2. 配置 VS Code 为 Git Mergetool
执行以下命令设置合并工具:
git config --global merge.tool vscodegit config --global mergetool.vscode.cmd "code --wait $MERGED"
说明:
– $MERGED:Git 合并冲突时生成的临时文件路径
– VS Code 打开该文件后,你需要手动解决冲突并保存
– --wait 确保 Git 在你保存并关闭文件后继续执行流程
3. 可选:禁用确认提示
每次使用 git difftool 或 git mergetool 时,Git 默认会询问是否启动工具。可通过以下命令关闭提示:
git config --global mergetool.prompt false
4. 使用方式
配置完成后:
- 查看差异:
git difftool HEAD~1 - 解决合并冲突:
git mergetool
Git 会自动调用 VS Code 显示差异或打开冲突文件。
基本上就这些。配置一次后,以后都能直接用 VS Code 处理 Git 差异和合并。虽然不如专用合并工具(如 Beyond Compare)功能强,但对轻量使用足够友好。










