web-dev-qa-db-ja.com

外部difftoolとmergetoolを使用するようにVisualStudio2017を構成する方法

Gitグローバル構成でdifftoolとmergetool用にDiffMergeを構成しました。 VisualStudioがグローバルgit構成のこの設定を尊重することを読みました。これが私のgitconfigです:-

git config --global --list difftool.DiffMerge.cmd='C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' $LOCAL $REMOTE merge.tool=DiffMerge mergetool.DiffMerge.cmd='C:/Program Files/SourceGear/Common/DiffMerge/sgdm.exe' -merge -result=$PWD/$MERGED $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE mergetool.DiffMerge.trustexitcode=true user.name=masiboo [email protected]

しかし、ビジュアルスタジオからdiffを表示しようとすると、独自のdiffツールと比較して開きます。外部ツールを開くまたは開くように構成するにはどうすればよいですか? advancに感謝します!

8
masiboo

私もしばらくかかりました。

Visual Studio 2017はあなたを「助け」ているようで、何か問題がある場合はVisual Studiodiffを起動するだけです。

これが私の作業中の.gitconfig設定です:

[diff]
    tool = winmerge

[difftool "winmerge"]  
  trustExitCode = true
  cmd = \"C:\\Program Files (x86)\\WinMerge\\WinMergeU.exe\" -u -e \"$LOCAL\" \"$REMOTE\"

Visual Studioは、diffツール設定を使用してリポジトリレベルの構成を挿入しているように見えることに注意してください。その場合、リポジトリの.git/config設定をクリアする必要があります。

8
Hagay Goshen

vSコードを差分ツールとして使用するには、これをローカルのgit構成ファイルに追加します。これはVS2019で機能します。

[diff]
    tool = vscode
[difftool "vscode"]
    cmd = "code --wait --diff \"$LOCAL\" \"$REMOTE\" "
1