如何使用Visual Studio Code作为SourceTree中的合并和比较工具?

问题描述 投票:23回答:2

This question和其他一些人讨论了它如何在Mac上运行,但是我找不到Microsoft或Atlassian的文档,无法在Windows without上尝试将其设置为全局Git设置。 (我只想在可能的情况下在IDE中进行更改。)

与Sourcetree的“选项”对话框的“差异”选项卡中的“自定义”设置一起使用,以便与Visual Studio Code进行差异化和合并的参数是什么?

git visual-studio-code atlassian-sourcetree
2个回答
42
投票
可能还有其他更好的变化,但是经过一些实验,我发现这些效果很好...

    为“外部差异工具”和“合并工具”选择“自定义”
  • 在两种情况下,“ Diff命令”都是安装Visual Studio Code的路径,例如:

    C:/用户/

    用户名 / AppData / Local / Programs / Microsoft VS Code / Code.exeC:/程序文件(x86)/ Microsoft VS Code / Code.exe

  • 用于区分的命令行参数是:

    -diff --wait“ $ LOCAL”“ $ REMOTE”
  • 并用于合并:

    -n-等待“ $ MERGED”

'-n'标志使Visual Studio Code打开一个新窗口,由于Visual Studio Code打开得如此之快,所以我希望使用它,但是您可以忽略它。处理合并冲突时,完成操作后必须关闭文件才能继续。 Sourcetree似乎并没有始终如一地删除其创建的中间文件,但是您可以很容易地从未暂存的文件部分中选择,右键单击并“删除”它们。


5
投票
我可以使用code.cmd脚本按照以下步骤进行设置:

    将“自定义”设置为差异和合并的外部工具
  • 指向code.cmd命令
  • C:\ Users \ [用户名] \ AppData \ Local \ Programs \ Microsoft VS Code \ bin \ code.cmd
  • 使用与@HeyHeyJC解释相同的命令行参数

    Diff'ing的命令行参数是:

    -diff --wait“ $ LOCAL”“ $ REMOTE”

    并且用于合并:

    -n-等待“ $ MERGED”

对我来说,我能够同时使用diff和从Sourcetree进行合并。


注意:默认情况下,code.cmd文件包含用于打开CLI指令的命令行arg "%~dp0..\resources\app\out\cli.js"每次都打开它有点乏味!我删除了此文件,因此我的文件如下所示,现在仅打开了从Sourcetree发送的文件。

@echo off setlocal set VSCODE_DEV= set ELECTRON_RUN_AS_NODE=1 call "%~dp0..\Code.exe" %* endlocal
© www.soinside.com 2019 - 2024. All rights reserved.