Я хотів би налаштувати Visual Studio таким чином, щоб відкрити програму Beyond Compare за замовчуванням як інструмент diff. Як я можу це зробити?
Я хотів би налаштувати Visual Studio таким чином, щоб відкрити програму Beyond Compare за замовчуванням як інструмент diff. Як я можу це зробити?
Відповіді:
У Visual Studio перейдіть до меню Інструменти , виберіть Опції , розгорніть Контроль джерела (У середовищі TFS натисніть Visual Studio Team Foundation 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
Якщо ви використовуєте стандарт "Більше порівняння" v3 / v4 Standard або понад порівняння v2 (двостороннє злиття):
.*
Merge
C:\Program Files\Beyond Compare 3\BComp.exe
(замініть правильний шлях для вашої машини, включаючи номер версії)%1 %2 /savetarget=%4 /title1=%6 /title2=%7
Якщо ви використовуєте вкладки в "Більше порівняння"
Якщо ви запускаєте програму "Більше порівняння" в режимі з вкладками, вона може заплутатися, коли ви відрізняєтесь або об'єднуєте більше одного набору файлів одночасно від Visual Studio. Щоб виправити це, ви можете додати аргумент /solo
до кінця аргументів; це гарантує, що кожне порівняння відкриється в новому вікні, обробляючи проблему за допомогою вкладок.
Якщо ви використовуєте GIT в якості системи управління вихідним кодом замість (досить датованого) TFVC, то у Visual Studio немає параметрів налаштувати щось подібне.
Натомість він (справедливо, на мою думку) використовує налаштування файлу конфігурації GIT . Тож якщо у вас вже є налаштування GIT, щоб використовувати програму Beyond Compare або будь-яке інше програмне забезпечення для порівняння третьої сторони, воно просто підбере це і почне його використовувати.
Якщо ні, то просто встановіть це (див. Тут для подальшої та, ймовірно, більш актуальної допомоги). Відповідна інформація про налаштування Visual Studio з програмою Beyond Compare 4:
%HOMEDRIVE%%HOMEPATH%/.gitconfig
. Інформацію див. Тут ) АБО якщо ви хочете, щоб це було репо конкретно, то після запуску проекту у сховищі 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 репозиторій в той же час БУДЕ додати вантаж перевизначень в .git/config
файл змушуючи його використовувати Visual Studio знову (спасибі за це MS!). Так чи створіть git repo за допомогою іншого способу після налаштування проекту (наприклад, через SourceTree або командний рядок тощо). Або відредагуйте .git/config
файл (у папці рішення) та видаліть будь-які скасування вищевказаних налаштувань.
Дякую міноуну в коментарях за те, що я знову привернув мою увагу.
Примітка. Я продовжую стикатися з цим, але я використовую VS з GIT, і відповіді невірні, і хоча деякі коментарі згадують URL-адресу з правильною відповіддю, це не ясно, і якщо я продовжував її пропускати, я впевнений, що інші будуть так сподіваємось, це вирішить це питання.
\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
Якщо ви використовуєте TFS, ви можете знайти додаткову інформацію у конфігурації diff / spajanje в Team Foundation - загальні значення команд та аргументів
Тут показано, як налаштувати такі інструменти:
Мені нудно робити це кожні 6 місяців, коли виходить нова версія Visual Studio, або я пересуваю ПК, або новий член приєднується до команди. Отже, 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, схоже, не кешує ключ, тому набирає чинності негайно.
computer\hkey_local_machine\scooter software\beyond compare\exepath
.
У Visual Studio 2008 + перейдіть до
Tools menu --> select Options
У вікні "Параметри" -> розгорнути "Керування джерелами" -> "Вибір інструментів користувача Subversion" -> "Вибрати за межі порівняння"
і натисніть кнопку ОК ..
Відповідь, опублікована @schellack, ідеально підходить для більшості сценаріїв, але я хотів, щоб "Більше порівняння" імітував вигляд "2-з’єднане об'єднання з панеллю результатів", яке використовує Visual Studio у власному вікні злиття.
Цей конфігурація приховує середню панель (яка в більшості випадків не використовується AFAIK).
%1 %2 "" %4 /title1=%6 /title2=%7 /title3="" /title4=%9
З подякою Моргену
VS2013 для 64-розрядної Windows 7 вимагає цих налаштувань: Інструменти | Параметри | Контроль над джерелами | Джазове управління джерелами
ПЕРЕВІРИТЕ КОНТРОЛЬ Використовуйте зовнішній інструмент порівняння ... (легко пропустити це)
Двостороннє порівняння розташування виконуваних файлів: C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe
Порівнюйте розташування виконуваних файлів:
BComp.exe працює і в сценарії з декількома вкладками, тому немає необхідності додавати / соло, якщо ви дійсно не хочете окремих вікон для кожного порівняння файлів. Випробувано / перевірено на Beyond Compare 3 і 4. Moral: використовуйте BComp.exe, а не BCompare.exe, для конфігурації інструменту зовнішнього порівняння VS.
Я використовую VS 2017 для проектів, розміщених з Git на visualstudio.com хостингу (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
Я використовую BC3 для свого git diff, але я також додам vscode до списку корисних інструментів git diff . Деякі користувачі віддають перевагу vscode over vs ide experience.
git config --global diff.tool vscode
git config --global difftool.vscode.cmd "code --wait --diff $LOCAL $REMOTE"