Beyond Compareを使用するようにVisual Studioを構成する方法


回答:


561

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でタブを使用する場合

Beyond Compareをタブ付きモードで実行すると、Visual Studioから一度に複数のファイルのセットを比較またはマージするときに混乱する可能性があります。これを修正するには、引数/soloの最後に引数を追加します。これにより、各比較が新しいウィンドウで開き、タブの問題を回避できます。


17
向こうは3比較のために、あなたが実際にBComp.exeを使用しなければならないことに注意してください-を参照してscootersoftware.com/vbulletin/showthread.php?t=3461
ジョー・

5
私は両方を越えては比較サポートするために、この答えを更新V3のPro / STD枠を越えて(V3の申し出3ウェイマージ)と公式BCのWebサイトから更新された引数v2の比較:scootersoftware.com/support.php?zz=kb_vcs
エヴァンWondrasek

32
Beyond Compareをタブ付きモードで実行すると、Visual Studioから一度に複数のファイルのセットを比較またはマージするときに混乱する可能性があります。これを修正するには、引数「/ solo」を引数の最後に追加します。これにより、各比較が新しいウィンドウで開き、タブの問題を回避できます。
Josh Sklare

16
Visual StudioのGitアドインを使用する場合、[ユーザーツールの構成]ボタンはありません。誰かがGitアドインをフックして比較以外の方法で使用する方法を知っていますか?
スティーブンプライス

7
Beyond Compare 4の設定はVisual Studio 2013と同じです。バージョン4をサポートするには、コマンドパスの「3」を「4」に変更するだけです。それはかなり明白ですが、注意する必要があります。たとえば、私のワークステーションでは、パスは次のとおりです。C:\ Program Files(x86)\ Beyond Compare 4 \ BCompare.exe
Mike Christian

86

Windows用Gitを備えたVisual Studio

(かなり古い)TFVCの代わりにGITソースコード管理システムとして使用している場合、Visual Studioにはこのような構成を行うオプションがありません。 代わりに(私の意見では)GIT構成ファイルの設定を使用します。したがって、Beyond Compareまたは他のサードパーティの比較ソフトウェアを使用するためのGITセットアップがすでにある場合は、これを選択して使用を開始します。

そうでない場合は、それを設定するだけです(さらに最新のヘルプについては、こちらを参照してください)。Beyond Compare 4でVisual Studioを設定するための関連情報は次のとおりです。

  1. Visual Studioを開きます。
  2. [ツール]メニューから[オプション]を選択します。
  3. 左側のツリーコントロールのソース管理ブランチの下にあるプラグイン設定を選択します。
  4. 右側のペインの「プラグイン設定」で「Microsoft Gitプロバイダー」を選択します。
  5. グローバルgit構成ファイルを編集します(場所はWindowsのOS固有です%HOMEDRIVE%%HOMEPATH%/.gitconfig。詳細はこちらをご覧ください)。または、リポジトリ固有にしたい場合は、Gitリポジトリでプロジェクトを開始した後、プロジェクトフォルダ。
  6. 次の変更を反映するように構成ファイルを変更します。

    [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は、プロジェクトがセットアップされた後(SourceTreeやコマンドラインなどを介して)別の方法でgitリポジトリを作成するか、.git/configファイル(ソリューションフォルダー内)を編集して、上記の設定のオーバーライドを削除します。
コメントに再び注目してくれたminnowに感謝します。

注:私はこれに遭遇し続けますが、GITでVSを使用していて、答えが正しくありません。コメントの一部は正しい答えのURLについて言及していますが、明確ではありません。うまくいけば、これはその問題を解決します。


Git for Windowsを使用しているので、非常に役立ちます。
MrBoJangles

2
ただし、注意してください-VS 2015は、私にとって、ローカルリポジトリのローカル git構成ファイルでdiff / mergeツールとして自分自身をセットアップします。したがって、グローバルをオーバーライドします。ローカルリポジトリ設定のエントリを削除するだけで問題ありません。
道化師

3
ハハはこの驚くべき答えに投票しようとしただけです...それから、「あなたはあなた自身の答えに投票することはできません」と言いました... ;)
GazB 2016年

4
私のマシンの少し異なるパス、64b dirにBC4をインストール:\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
GraehamF

1
グローバルgit構成の設定がまったく機能しないことがわかりました。リポジトリの設定を変更する必要がありました。VS2017。他の誰かが同じことを経験していますか?そして、@ GazB、私と同じように、GraehamFは、64ビットバージョンにBCの64ビットバージョンをインストールしているだけなので、インストールされたパスは、PF(x86)ではなく、正しい期待されるプログラムファイルです。
ミノー2017


13

Visual Studioの新しいバージョンがリリースされたとき、PCを移動したとき、または新しいメンバーがチームに加わったとき、6か月ごとにこれを行うことに飽き飽きしました。つまり、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はキーをキャッシュしていないように見えるため、すぐに有効になります。


1
最近の$ bcPath = 'C:\ Program Files(x86)\ Beyond Compare 4 \ BCompare.exe'は最新バージョンです。したがって、それだけがチョコレートインストールと組み合わされた場合(ちなみにありがとう)
James Woolfenden 2014年

これは素晴らしい。この情報を投稿していただき、ありがとうございます。
d3r3kk 2015年

1
おそらく、レジストリエントリを読み取るために更新する必要がありますcomputer\hkey_local_machine\scooter software\beyond compare\exepath
エリックフィリップス

8

Visual Studio 2008 +で、

Tools menu -->  select Options 

ここに画像の説明を入力してください

オプションウィンドウで->ソース管理を展開-> Subversionユーザーツールを選択->比較対象外を選択

OKボタンをクリックします。


2
この回答の「subversion」ビットは、ソース管理プロバイダーとしてSVNを使用している場合に固有であることに注意してください。
piers7 14

1
SVNのみ、TFS、Git、またはその他のSCCプロバイダーには適用されません
Adam Plocher、2015

3

@schellackが投稿した答えはほとんどのシナリオに最適ですが、Beyond Compareで、Visual Studioが独自のマージウィンドウで使用する「結果パネルとの2ウェイマージ」ビューをシミュレートしたいと思いました。

この設定により、中央パネルが非表示になります(ほとんどの場合、AFAIKは使用されていません)。

 %1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9

モーゲンのおかげで


2

64ビットWindows 7上のVS2013では、次の設定が必要です。オプション| ソース管理| ジャズソースコントロール

チェックボックスをチェックします外部比較ツールを使用します...(これを見逃しやすい)

実行可能ファイルの双方向比較の場所:C:\ Program Files(x86)\ Beyond Compare 3 \ BCompare.exe

実行可能ファイルの3ウェイ競合比較の場所:C:\ Program Files(x86)\ Beyond Compare 3 \ BCompare.exe


2

BComp.exeは複数タブのシナリオでも機能するため、ファイル比較ごとに個別のウィンドウが本当に必要でない限り、/ soloを追加する必要はありません。Beyond Compare 3および4でテスト/検証済み。モラル:VS外部比較ツールの構成には、BCompare.exeではなくBComp.exeを使用します。


2

visualstudio.comホスティング(msdn)でGitでホストされているプロジェクトでVS 2017を使用しています

上記のリンクは、「Windows版GITHUB」の指示に従って動作しました。

http://www.scootersoftware.com/support.php?zz=kb_vcs#githubwindows

構成ファイルは「c:\ users \ username \ .gitconfig」に示されている場所にあり、状況に応じてBC4をBC3に変更し、適切なパスを使用しました。

C:/ Program Files(x86)/ Beyond Compare 3 / bcomp.exe


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.