配置VS Code为Git默认对比合并工具:1. 设置diff.tool为vscode并指定--wait --diff命令;2. 设置merge.tool为vscode,配置cmd和trustExitCode;3. 可选启用Merge Editor实验功能使用三路合并UI;4. 验证配置并检查PATH与命令有效性,确保集成正常工作。

只需在 Git 配置中指定 VS Code 的命令行工具 code(或 code-insiders),并启用其内置的 diff/merge 功能,就能让 VS Code 成为 Git 的默认对比和合并工具。关键是使用 --wait 参数,确保 Git 等待你关闭编辑器后再继续操作。
运行以下命令,把 VS Code 设为全局 diff 工具:
git config --global diff.tool vscode git config --global difftool.vscode.cmd 'code --wait --diff "$LOCAL" "$REMOTE"'
说明:
--wait:Git 会暂停执行,直到你关闭对比窗口--diff:启用双栏对比模式(VS Code 会自动识别)"$LOCAL" 和 "$REMOTE" 是 Git 自动传入的临时文件路径验证是否生效:执行 git difftool HEAD~1 -- path/to/file.js,应直接在 VS Code 中打开对比视图。
运行以下命令,设置 VS Code 为合并工具:
git config --global merge.tool vscode git config --global mergetool.vscode.cmd 'code --wait "$MERGED"' git config --global mergetool.vscode.trustExitCode true
说明:
"$MERGED" 指向 Git 创建的合并结果文件(含冲突标记)trustExitCode true 表示 Git 相信 VS Code 关闭后返回的退出码——若你手动保存并退出,Git 就认为合并完成注意:VS Code 默认不提供三路合并界面,但能高亮显示冲突块(用 <<<<<< HEAD / ======= / >>>>>> branch-name 标记)。你可手动编辑、保存后关闭,Git 即继续流程。
VS Code 1.84+ 支持原生三路合并 UI(需开启实验性功能):
Ctrl+,),搜索 merge editor
git mergetool,就会弹出图形化三栏合并界面(左:LOCAL,中:MERGED,右:REMOTE)此时建议更新 mergetool 命令以兼容该 UI:
git config --global mergetool.vscode.cmd 'code --wait --merge "$LOCAL" "$REMOTE" "$BASE" "$MERGED"'
其中 $BASE 是共同祖先版本,VS Code 合并编辑器会用到它。
若配置后没反应,检查这几项:
code --version,确认 code 命令已加入系统 PATH(macOS/Linux:Shell 中执行 code --install-shell-command;Windows:安装时勾选 “Add to PATH”)git config --get-all diff.tool 和 git config --get-all merge.tool,确认值为 vscode
--wait 测试能否正常打开(如不能,说明路径或命令名有误)基本上就这些。配置一次,后续所有 git difftool 和 git mergetool 都会自动唤起 VS Code,无需额外插件或脚本。
以上就是如何将VS Code配置为Git的默认difftool和mergetool的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号