Сравнение файлов при двойном щелчке в режиме ожидания изменений - PullRequest
52 голосов
/ 09 декабря 2010

Есть ли в Visual Studio способ изменить поведение, когда я дважды щелкаю файл в представлении «Ожидающие изменения».

По умолчанию Visual Studio открывает файл в редакторе кода, но я хочу, чтобы он открывал диалоговое окно «Сравнить» с последней версией. (такое же поведение, как в TortoiseSVN)

Ответы [ 7 ]

58 голосов
/ 28 января 2011

Существует способ сделать это постоянным, поэтому вам не нужно сдвигать + двойной щелчок: http://www.richard -banks.org / 2010/07 / how-to-double-click-to-diff -pending.html

Путь: HKCU \ Software \ Microsoft \ VisualStudio \ \ TeamFoundation \ SourceControl \ Behavior
Значение : DoubleClickOnChange (DWORD)

0 == просмотреть в качестве основной команды (по умолчанию)
1 == сравнить в качестве основной команды

58 голосов
/ 09 декабря 2010

Вместо этого сделайте Shift + двойной щелчок.

13 голосов
/ 08 марта 2017

Шаги для VS2017 немного отличаются. VS 2017 использует собственный личный реестр , который хранится в вашей папке AppData.

Шаги

  1. Закрыть все экземпляры Visual Studio

  2. Выберите узел HKEY_USERS и нажмите «Файл»> «Загрузить куст»

  3. Откройте файл privateregistry.bin, который можно найти по адресу %UserProfile%\AppData\Local\Microsoft\VisualStudio\15.0_[*some key*]

  4. Укажите имя ключа.Например, VS2017PrivateRegistry

  5. Перейдите по следующему пути и создайте новое DWORD со значением 1.

    Путь : HKEY_USERS\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_[*some key*]\TeamFoundation\SourceControl\Behavior

    Значение : DoubleClickOnChange (DWORD) 1

  6. Выберите HKEY_USERS \ VS2017PrivateRegistry

  7. Нажмите Файл> Выгрузить куст

6 голосов
/ 11 июля 2016

VS 2017 или новее

Этот сценарий PowerShell должен включить его для последнего установленного экземпляра (адаптировано из ответ Аниша )

Вам необходимо закрыть всеСначала создаются экземпляры VS.

$instanceId = $(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property instanceId).Trim()
reg.exe load HKLM\VS2017PrivateRegistry $env:LOCALAPPDATA\Microsoft\VisualStudio\15.0_$instanceId\privateregistry.bin
reg.exe add HKLM\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_$instanceId\TeamFoundation\SourceControl\Behavior /v DoubleClickOnChange /t REG_DWORD /d 1 /f
reg.exe unload HKLM\VS2017PrivateRegistry

VS 2015 или более поздняя версия

Эта команда PowerShell должна включить это для всех установленных версий:

Set-ItemProperty HKCU:\Software\Microsoft\VisualStudio\*\TeamFoundation\SourceControl\Behavior DoubleClickOnChange 1
4 голосов
/ 17 декабря 2012

Поместите это в файл .reg и дважды щелкните по нему, это сравнит ваш двойной щелчок вместо открытия файла в окне ожидающих изменений.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\SourceControl\Behavior]
"DoubleClickOnChange"=dword:00000001

Убедитесь, что версия Visual Studio верна.

2 голосов
/ 05 июля 2012

Вы также можете применить некоторые сочетания клавиш Visual Studio для различных типов сравнения - Последнее, Рабочее пространство и Предыдущее.

См. Следующий пост: Сравнение сочетаний клавиш для ожидающих изменений в TFS

0 голосов
/ 01 июня 2019

VS 2019 и далее (надеюсь)

Опираясь на ответ Терезы, используя powershell

$instanceId = $(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property instanceId).Trim()
$versionMajor = $(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationVersion).Trim().Substring(0,2)
$year = $(& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property catalog_productLineVersion).Trim()
reg.exe load HKLM\VS$yearPrivateRegistry $env:LOCALAPPDATA\Microsoft\VisualStudio\$versionMajor.0_$instanceId\privateregistry.bin
reg.exe add HKLM\VS$yearPrivateRegistry\Software\Microsoft\VisualStudio\$versionMajor.0_$instanceId\TeamFoundation\SourceControl\Behavior /v DoubleClickOnChange /t REG_DWORD /d 1 /f
reg.exe unload HKLM\VS$yearPrivateRegistry

Это также пытается определить основную версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...