Як налаштувати Visual Studio для використання програми "Більше порівняння"


Відповіді:


561

У 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до кінця аргументів; це гарантує, що кожне порівняння відкриється в новому вікні, обробляючи проблему за допомогою вкладок.


17
Зверніть увагу , що для Beyond Compare 3, ви повинні фактично використовувати BComp.exe - см scootersoftware.com/vbulletin/showthread.php?t=3461
Джо

5
Я оновив цей відповідь на підтримку як Beyond Compare Pro v3 / Std і Beyond Compare v2 (v3 пропонує 3-смугові злиття) і оновлені аргументи з офіційного сайту ОК: scootersoftware.com/support.php?zz=kb_vcs
Evan Wondrasek

32
Якщо ви запускаєте програму "Більше порівняння" в режимі з вкладками, вона може заплутатися, коли ви відрізняєтесь або об'єднуєте більше одного набору файлів одночасно від Visual Studio. Щоб виправити це, ви можете додати аргумент "/ solo" до кінця аргументів; це гарантує, що кожне порівняння відкриється в новому вікні, обробляючи проблему за допомогою вкладок.
Josh Sklare

16
Під час використання надбудови Git для Visual Studio немає кнопки Налаштувати користувальницькі інструменти. Хтось знає спосіб підключити надбудову Git для використання поза порівнянням?
Стівен Прайс

7
Налаштування програми Більше Порівняння 4 те саме, що і Visual Studio 2013. Щоб підтримати версію 4, просто змініть "3" на шляху КОМАНДИ на "4". Це досить очевидно, але слід зазначити. Наприклад, на моїй робочій станції шлях: C: \ Program Files (x86) \ Beyond Compare 4 \ BCompare.exe
Майк Крістіан,

86

Visual Studio з Git для Windows

Якщо ви використовуєте GIT в якості системи управління вихідним кодом замість (досить датованого) TFVC, то у Visual Studio немає параметрів налаштувати щось подібне.
Натомість він (справедливо, на мою думку) використовує налаштування файлу конфігурації GIT . Тож якщо у вас вже є налаштування GIT, щоб використовувати програму Beyond Compare або будь-яке інше програмне забезпечення для порівняння третьої сторони, воно просто підбере це і почне його використовувати.

Якщо ні, то просто встановіть це (див. Тут для подальшої та, ймовірно, більш актуальної допомоги). Відповідна інформація про налаштування Visual Studio з програмою Beyond Compare 4:

  1. Відкрити візуальну студію.
  2. Виберіть Опції в меню Інструменти.
  3. Виберіть «Налаштування підключення» у відділенні «Контроль джерела» у лівій частині керування деревом.
  4. Виберіть Microsoft Git Provider у розділі Налаштування плагіну на правій панелі.
  5. Відредагуйте глобальний конфігураційний файл git (місце розташування призначене для ОС для Windows %HOMEDRIVE%%HOMEPATH%/.gitconfig. Інформацію див. Тут ) АБО якщо ви хочете, щоб це було репо конкретно, то після запуску проекту у сховищі Git відредагуйте конфігураційний файл у папці .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 репозиторій в той же час БУДЕ додати вантаж перевизначень в .git/configфайл змушуючи його використовувати Visual Studio знову (спасибі за це MS!). Так чи створіть git repo за допомогою іншого способу після налаштування проекту (наприклад, через SourceTree або командний рядок тощо). Або відредагуйте .git/configфайл (у папці рішення) та видаліть будь-які скасування вищевказаних налаштувань.
Дякую міноуну в коментарях за те, що я знову привернув мою увагу.

Примітка. Я продовжую стикатися з цим, але я використовую VS з GIT, і відповіді невірні, і хоча деякі коментарі згадують URL-адресу з правильною відповіддю, це не ясно, і якщо я продовжував її пропускати, я впевнений, що інші будуть так сподіваємось, це вирішить це питання.


Дуже корисно, оскільки я використовую Git для Windows.
MrBoJangles

2
Але обережно - VS 2015 для мене налаштував себе як інструмент diff / merge в локальному файлі git config у локальному репо .... Просто видаліть записи в локальному конфігурації репо, і ви повинні бути хорошими.
Шестер

3
Ха-ха просто спробував проголосувати цю дивовижну відповідь ... тоді вона сказала "Ви не можете голосувати за свою власну відповідь" ... О, LOL Бог благослови, що не пам'ять! ;)
ГазБ

4
BC4 встановлений дещо іншим шляхом, 64b dir, на моїй машині:\"C:\\Program Files\\Beyond Compare 4\\BComp.exe\"
GraehamF

1
Я виявив, що налаштування глобальної конфігурації git взагалі не працює. Мені довелося змінити конфігурацію репо. VS2017 Хтось ще відчуває те саме? І @GazB, я підозрюю, що GraehamF, як я, просто має 64-бітну версію BC, встановлену на 64-бітних вікнах, тому встановлений шлях є правильним, очікуваним програмним файлом, а не PF (x86).
понеділок

15

Якщо ви використовуєте TFS, ви можете знайти додаткову інформацію у конфігурації diff / spajanje в Team Foundation - загальні значення команд та аргументів

Тут показано, як налаштувати такі інструменти:

  • WinDiff
  • DiffDoc (для файлів Word)
  • WinMerge
  • Більше порівняння
  • KDiff3
  • Араксіс
  • Порівняйте!
  • SourceGear DiffMerge
  • Порівнюючи 3
  • TortoiseMerge
  • Visual SlickEdit

13

Мені нудно робити це кожні 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, схоже, не кешує ключ, тому набирає чинності негайно.


1
Цього дня його остання версія $ bcPath = 'C: \ Program Files (x86) \ Beyond Compare 4 \ BCompare.exe' для останньої версії. Тож коли б тільки це було поєднано з шоколадною установкою ... (спасибі до речі)
Джеймс Вулфенден

Це чудово. Велике спасибі за розміщення цієї інформації, полегшить життя!
d3r3kk

1
Ймовірно , потрібно просто оновити , щоб прочитати запис реєстру: computer\hkey_local_machine\scooter software\beyond compare\exepath.
Ерік Філіпс

8

У Visual Studio 2008 + перейдіть до

Tools menu -->  select Options 

введіть тут опис зображення

У вікні "Параметри" -> розгорнути "Керування джерелами" -> "Вибір інструментів користувача Subversion" -> "Вибрати за межі порівняння"

і натисніть кнопку ОК ..


2
Зауважте, що біти "підриву" цієї відповіді є специфічними для того, якщо ви використовуєте SVN як постачальник управління джерелами.
пристань7

1
SVN, не застосовується до TFS або Git або будь-якого іншого постачальника послуг SCC
Adam Plocher,

3

Відповідь, опублікована @schellack, ідеально підходить для більшості сценаріїв, але я хотів, щоб "Більше порівняння" імітував вигляд "2-з’єднане об'єднання з панеллю результатів", яке використовує Visual Studio у власному вікні злиття.

Цей конфігурація приховує середню панель (яка в більшості випадків не використовується AFAIK).

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

З подякою Моргену


2

VS2013 для 64-розрядної Windows 7 вимагає цих налаштувань: Інструменти | Параметри | Контроль над джерелами | Джазове управління джерелами

ПЕРЕВІРИТЕ КОНТРОЛЬ Використовуйте зовнішній інструмент порівняння ... (легко пропустити це)

Двостороннє порівняння розташування виконуваних файлів: C: \ Program Files (x86) \ Beyond Compare 3 \ BCompare.exe

Порівнюйте розташування виконуваних файлів:


2

BComp.exe працює і в сценарії з декількома вкладками, тому немає необхідності додавати / соло, якщо ви дійсно не хочете окремих вікон для кожного порівняння файлів. Випробувано / перевірено на Beyond Compare 3 і 4. Moral: використовуйте BComp.exe, а не BCompare.exe, для конфігурації інструменту зовнішнього порівняння VS.


2

Я використовую 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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.