[visual-studio] Beyond Compare를 사용하도록 Visual Studio를 구성하는 방법
기본적으로 diff 도구로 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 방향 병합)을 사용하는 경우 :
- 연장 :
.*
- 동작 :
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
끝에 인수 를 추가 할 수 있습니다 . 이렇게하면 각 비교가 새 창에서 열리고 탭 관련 문제가 해결됩니다.
답변
Windows 용 Git이 포함 된 Visual Studio
(공정하게 날짜가 지정된) TFVC 대신 소스 코드 관리 시스템 으로 GIT 를 사용하는 경우 Visual Studio에는 이와 같은 구성 옵션이 없습니다.
대신 (제 생각 에는 GIT 구성 파일의 설정을 사용합니다 . 따라서 Beyond Compare 또는 다른 타사 비교 소프트웨어를 사용하도록 GIT 설정이 이미있는 경우이를 선택하여 사용하기 시작합니다.
그렇지 않다면 그냥 설정하십시오 (자세한 정보는 여기 를 참조 하십시오 ). Beyond Compare 4를 사용하여 Visual Studio를 설정하기위한 관련 정보는 다음과 같습니다.
- Visual Studio를 엽니 다.
- 도구 메뉴에서 옵션을 선택하십시오.
- 왼쪽 트리 제어의 소스 제어 분기에서 플러그인 설정을 선택하십시오.
- 오른쪽 창의 플러그인 설정에서 Microsoft Git Provider를 선택하십시오.
- 전역 git 구성 파일을 편집하십시오 (위치는 Windows에 따라 OS마다 다릅니다
%HOMEDRIVE%%HOMEPATH%/.gitconfig
. 정보는 여기 를 참조 하십시오 ). 프로젝트 폴더. -
다음 변경 사항을 반영하도록 구성 파일을 변경하십시오.
[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이 언급되어 있지 않지만 명확하지 않으며 누락 된 경우 다른 사람들이 그렇게 할 것이라고 확신합니다. 잘하면 이것이 그 문제를 해결할 것입니다.
답변
TFS를 사용하는 경우 Team Foundation의 diff / merge 구성-공통 명령 및 인수 값 에서 자세한 정보를 찾을 수 있습니다.
다음 도구를 구성하는 방법을 보여줍니다.
- 윈디 프
- DiffDoc (Word 파일 용)
- 윈 머지
- 비할 바 없는
- KDiff3
- 축
- 그것을 비교하십시오!
- SourceGear DiffMerge
- 그 너머 비교 3
- 거북이 병합
- 비주얼 슬릭
답변
새로운 버전의 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가 키를 캐시하지 않는 것처럼 보이므로 즉시 적용됩니다.
답변
Visual Studio 2008 +에서
Tools menu --> select Options
옵션 창에서-> 소스 제어 확장-> 서브 버전 사용자 도구 선택-> 비교 너머 선택
확인 버튼을 클릭하십시오.
답변
@schellack이 게시 한 답변은 대부분의 시나리오에 완벽하지만 Visual Studio가 자체 병합 창에서 사용하는 ‘결과 패널과의 양방향 병합’보기를 시뮬레이션하기 위해 Beyond Compare를 원했습니다.
이 구성은 중간 패널을 숨 깁니다 (대부분의 경우 AFAIK에서는 사용되지 않음).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
Morgen 덕분에
답변
64 비트 Windows 7의 VS2013에는 다음 설정이 필요합니다. 도구 | 옵션 | 소스 컨트롤 | 재즈 소스 제어
체크 박스 확인 외부 비교 도구를 사용하십시오 …
실행 파일의 2 방향 비교 위치 : C : \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe
실행 파일의 3 방향 충돌 비교 위치 : C : \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe