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 방향 병합)을 사용하는 경우 :

  • 연장 :.*
  • 동작 :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 (양방향 병합)를 사용하는 경우 :

  • 연장 :.*
  • 동작 :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
Beyond Compare 3의 경우 실제로 BComp.exe를 사용해야합니다. scootersoftware.com/vbulletin/showthread.php?t=3461
Joe

5
이 답변을 Beyond Compare v3 Pro / Std 및 Beyond Compare v2 (v3에서 3-way 병합 제공)를 지원하도록 업데이트하고 공식 BC 웹 사이트에서 업데이트 된 인수 : scootersoftware.com/support.php?zz=kb_vcs
Evan Wondrasek

32
탭 모드에서 Beyond Compare를 실행하면 Visual Studio에서 한 번에 둘 이상의 파일 집합을 비교하거나 병합 할 때 혼동 될 수 있습니다. 이 문제를 해결하기 위해 인수 끝에 "/ solo"인수를 추가 할 수 있습니다. 이렇게하면 각 비교가 새 창에서 열리고 탭 관련 문제가 해결됩니다.
Josh Sklare

16
Visual Studio 용 Git 애드 인을 사용할 때는 사용자 도구 구성 버튼이 없습니다. 누구나 Git 애드 인을 비교하여 사용할 수있는 방법을 알고 있습니까?
Stephen Price

7
Beyond Compare 4 설정은 Visual Studio 2013과 동일합니다. 버전 4를 지원하려면 COMMAND 경로에서 "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 Provider를 선택하십시오.
  5. 전역 git 구성 파일을 편집하십시오 (위치는 Windows에 따라 OS마다 다릅니다 %HOMEDRIVE%%HOMEPATH%/.gitconfig. 정보는 여기 를 참조 하십시오 ). 프로젝트 폴더.
  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\"

문제 : 새 프로젝트를 생성하고 동시에 자식의 repo 만들 VS를 받으면 받는 재정의 부하를 추가 .git/config다시 Visual Studio를 사용하여 강제로 파일 (즉, MS에 대한 감사합니다!). 따라서 프로젝트가 설정된 후 (SourceTree 또는 명령 줄 등을 통해) 다른 방법으로 git repo를 만들거나 .git/config솔루션 폴더에서 파일을 편집 하고 위의 설정에 대한 재정의를 제거하십시오.
다시 관심을 가져 주셔서 감사합니다.

참고 : 이 문제는 계속 발생하지만 GIT와 함께 VS를 사용하고 있으며 답변이 정확하지 않으며 일부 의견에는 정확한 답변이있는 URL이 언급되어 있지 않지만 명확하지 않으며 누락 된 경우 다른 사람들이 그렇게 할 것이라고 확신합니다. 잘하면 이것이 그 문제를 해결할 것입니다.


Windows 용 Git을 사용하므로 매우 유용합니다.
MrBoJangles

2
조심하지만-VS 2015는 로컬 저장소 의 로컬 git config 파일에서 diff / merge 도구로 설정했습니다. 따라서 전역을 재정의합니다. 로컬 repo 구성에서 항목을 제거하기 만하면됩니다.
Jester

3
하하가 방금이 놀라운 답변에 투표하려고했는데 ... "당신은 당신 자신의 답변에 투표 할 수 없습니다"라고 말했습니다. ;)
GazB

4
BC4는 내 컴퓨터에서 약간 다른 경로 인 64b dir에 설치되었습니다.\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
GraehamF

1
전역 git 구성 설정이 전혀 작동하지 않는다는 것을 알았습니다. repo의 구성을 수정해야했습니다. VS2017. 다른 사람이 같은 경험을합니까? 그리고 @GazB는 GraehamF와 마찬가지로 64 비트 창에 BC 64 비트 버전의 BC가 설치되어 있다고 생각하므로 설치된 경로는 PF (x86)가 아닌 올바른 예상 프로그램 파일입니다.
minnow


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

대단하다. 이 정보를 게시 해 주셔서 감사합니다. 인생을 더 편하게 해줄 것입니다!
d3r3kk 2016

1
아마도 레지스트리 항목을 읽으려면 업데이트해야합니다 computer\hkey_local_machine\scooter software\beyond compare\exepath.
Erik Philips

8

Visual Studio 2008 +에서

Tools menu -->  select Options 

여기에 이미지 설명을 입력하십시오

옵션 창에서-> 소스 제어 확장-> 서브 버전 사용자 도구 선택-> 비교 너머 선택

확인 버튼을 클릭하십시오.


2
이 답변의 'subversion'비트는 SVN을 소스 제어 공급자로 사용하는 경우에만 해당됩니다.
piers7

1
SVN은, TFS 또는 힘내 또는 기타 SCC 제공 업체에 적용되지 않습니다
아담 Plocher

3

@schellack이 게시 한 답변은 대부분의 시나리오에 완벽하지만 Visual Studio가 자체 병합 창에서 사용하는 '결과 패널과의 양방향 병합'보기를 시뮬레이션하기 위해 Beyond Compare를 원했습니다.

이 구성은 중간 패널을 숨 깁니다 (대부분의 경우 AFAIK에서는 사용되지 않음).

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

Morgen 덕분에


2

64 비트 Windows 7의 VS2013에는 다음 설정이 필요합니다. 도구 | 옵션 | 소스 컨트롤 | 재즈 소스 제어

체크 박스 확인 외부 비교 도구를 사용하십시오 ...

실행 파일의 2 방향 비교 위치 : 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에서 테스트 / 검증되었습니다. Moral : VS 외부 비교 도구 구성에는 BCompare.exe가 아닌 BComp.exe를 사용하십시오.


2

visualstudio.com 호스팅 (MSDN)에서 Git으로 호스팅 된 프로젝트에서 VS 2017을 사용하고 있습니다.

위의 링크는 "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


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.