デフォルトで差分ツールとしてBeyond Compareを開くようにVisual Studioを構成します。これどうやってするの?
Visual Studioで、ツールメニューに移動し、オプションを選択して展開します。 ソース管理、(TFS環境では、Visual Studio Team Foundation Serverをクリック)、ユーザーの設定をクリックします。ツールボタン.
追加ボタンをクリックします。
比較のために以下のオプションを入力/選択してください
.*
Compare
C:\Program Files\Beyond Compare 3\BComp.exe
(バージョン番号を含む、あなたのマシンの正しいパスに置き換えてください)%1 %2 /title1=%6 /title2=%7
Beyond Compare Professional(3-way Merge)を使用している場合
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(バージョン番号を含む、あなたのマシンの正しいパスに置き換えてください)%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
Beyond Compare v3/v4 StandardまたはBeyond Compare v2(2-way Merge)を使用している場合
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(バージョン番号を含む、あなたのマシンの正しいパスに置き換えてください)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
あなたが比較を超えてタブを使用している場合
タブモードでBeyond Compareを実行すると、Visual Studioから一度に複数のファイルのセットを比較またはマージするときに混乱することがあります。これを修正するには、引数の最後に引数/solo
を追加します。これにより、各比較が新しいウィンドウで開き、タブを使用して問題を回避できます。
(かなり古い) TFVC の代わりに GIT を ソースコード管理システム として使用しているのであれば、Visual Studioにはありません。このようなものを設定するオプションがあります。
その代わりに(私の考えでは)は GIT設定ファイルの設定 を使用します。ですから、Beyond Compareまたは他のサードパーティの比較ソフトウェアを使用するようにGITが既に設定されている場合は、これを選択して使用を開始します。
そうでない場合は、単にそれを設定してください(さらなる最新のヘルプについては ここ を参照してください)。 Visual StudioをBeyond Compare 4で設定するための関連情報は次のとおりです。
%HOMEDRIVE%%HOMEPATH%/.gitconfig
。詳細については here を参照)OR Gitリポジトリ、プロジェクトフォルダ内の.gitフォルダ内の設定ファイルを編集します。以下の変更を反映するように設定ファイルを変更します。
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files (x86)\\Beyond Compare 4\\BComp.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"C:\\Program Files (x86)\\Beyond Compare 4\\BComp.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\"
64ビットインストーラーを使用している場合は、実行可能ファイルの名前を確認してください。私のものはBCompare.exeでした
[diff]
tool = bc4
[difftool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = bc4
[mergetool "bc4"]
cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\"
問題点:新しいプロジェクトを作成し、同時にVSにgitリポジトリを作成させる場合WILL.git/config
ファイルにオーバーライドを追加して、Visual Studioを再度使用するように強制します(そのMSに感謝します)。 SOプロジェクトのセットアップ後に別の方法でgitリポジトリを作成する(SourceTreeやコマンドラインなどを使用)。OR .git/config
ファイルを編集する(ソリューションフォルダー内)上記の設定に対する上書きをすべて削除します。
コメントに含まれているminnowに、もう一度注意を向けていただきありがとうございます。
注:私はこれに遭遇し続けていますが、私はGITでVSを使用しています、そして答えは正しくありません。正解は明確ではありませんし、それを見逃したままにしておけば、他の人たちがその問題を解決できることを願っています。
TFSを使用している場合は、Team Foundationの diff/merge構成 - 共通のコマンドと引数の値 で詳細情報を参照できます。
以下のツールを構成する方法を示します。
私は6ヶ月ごとに新しいバージョンのVisual Studioが出てきたとき、あるいはPCを移動したとき、あるいは新しいメンバーがチームに加わったときに飽きてしまいました。だから、PowerShell:
# .Synopsys
# Sets up Beyond Compare professional as Diff tool for all instances of Visual Studio on this PC
# If you don't use TFS, change the sccProvider as appropriate
[CmdLetBinding()]
param(
$bcPath = 'C:\Program Files (x86)\Beyond Compare 3\BComp.exe',
$sccProvider = 'TeamFoundation'
)
$ErrorActionPreference = 'stop';
$baseKey = 'REGISTRY::\HKCU\Software\Microsoft\VisualStudio\*'
function SetRegKeyProperties($keyPath, [hashtable]$keyProps){
if(!(Test-Path $keyPath)){
Write-Verbose "Creating $keyPath"
# Force required here to recursively create registry path
[void] (new-item $keyPath -Type:Directory -Force);
}
foreach($prop in $keyProps.GetEnumerator()){
Set-ItemProperty -Path:$keyPath -Name:$prop.Key -Value:$prop.Value;
}
}
$configBases = dir $baseKey | ? { $_.PSChildName -match '^\d+\.\d$' }
foreach($item in $configBases){
Write-Host "Configuring $item"
$diffToolsKey = Join-Path $item.PSPath "$sccProvider\SourceControl\DiffTools"
SetRegKeyProperties (Join-path $diffToolsKey '.*\Compare') @{Command=$bcPath;Arguments='%1 %2 /title1=%6 /title2=%7'}
SetRegKeyProperties (Join-path $diffToolsKey '.*\Merge') @{Command=$bcPath;Arguments='%1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9'}
}
私のマシン上で動作します。 YMMV保証、返金はありません。 VSはキーをキャッシュしていないように見えるので、すぐに有効になります。
Visual Studio 2008以降では、
Tools menu --> select Options
[オプション]ウィンドウ - > [ソース管理] - > [Subversionユーザーツールの選択] - > [比較先の選択]を展開します。
そしてOKボタンをクリックしてください。
64ビットWindows 7上のVS2013には、次の設定が必要です。オプション|ソース管理|ジャズソース管理
チェックボックスをチェックする外部の比較ツールを使用します。(見逃しやすい)
実行可能ファイルの2方向比較場所:C:\ Program Files(x86)\ Beyond Compare 3\BCompare.exe
3方向の競合実行可能ファイルの場所の比較:C:\ Program Files(x86)\ Beyond Compare 3\BCompare.exe
@schellackが投稿した答えはほとんどのシナリオに最適ですが、Visual Studioが独自のマージウィンドウで使用する「2ウェイマージと結果パネル」ビューをシミュレートすることをBeyond Compareに要求しました。
この設定は真ん中のパネルを隠します(これはほとんどの場合未使用です)。
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
おかげで Morgen
BComp.exeは複数タブのシナリオでも動作するので、ファイル比較ごとに別々のウィンドウが必要でない限り、/ soloを追加する必要はありません。 Beyond Compare 3および4でテスト/検証済み。モラル:VS外部比較ツールの構成には、BCompare.exeではなくBComp.exeを使用します。
Visualstudio.comのGitでホストされているプロジェクトでVS 2017を使用しています(msdn)
上記のリンクは "GITHUB FOR WINDOWS"の指示で私のために働きました。
http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows
設定ファイルはそれが "c:\ users\username.gitconfig"で示されている場所にあり、私は私の状況のためにBC4をBC3に変更し、適切なパスを使用しました:
C:/プログラムファイル(x86)/ Beyond Compare 3/bcomp.exe
私のgit diffにはBCを使いますが、私は 役に立つ[git diffツールのリストにvscodeを追加] します。何人かのユーザはvscode over vs ide経験を好む。
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"