在Pending Changes视图中双击比较文件

时间:2010-12-09 07:37:05

标签: visual-studio-2010 tfs

当我在“待更改”视图中双击文件时,Visual Studio中是否有一种方法可以更改行为。

默认行为是,Visual Studio在代码编辑器中打开文件,但我希望它打开带有最新版本的“Compare”对话框。 (与TortoiseSVN中的行为相同)

7 个答案:

答案 0 :(得分:58)

转移+双击。

答案 1 :(得分:58)

有一种方法可以使这个永久化,所以你不需要移动+双击:http://www.richard-banks.org/2010/07/how-to-double-click-to-diff-pending.html

路径:HKCU \ Software \ Microsoft \ VisualStudio \< ver> \ TeamFoundation \ SourceControl \ Behavior
:DoubleClickOnChange(DWORD)

0 ==查看主要命令(默认)
1 ==比较作为主要命令

答案 2 :(得分:13)

VS2017的步骤略有不同。 VS 2017 uses its own private registry,存储在AppData文件夹中。

步骤

  1. 关闭所有可视演播室实例

  2. 选择HKEY_USERS节点,然后点击文件>加载配置单元

  3. 打开private %UserProfile%\AppData\Local\Microsoft\VisualStudio\15.0_[*some key*]可以找到的privateregistry.bin

  4. 提供密钥名称。例如VS2017PrivateRegistry

  5. 导航到以下路径并创建值为1的新DWORD。

    <强>路径HKEY_USERS\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_[*some key*]\TeamFoundation\SourceControl\Behavior

    :DoubleClickOnChange(DWORD)1

  6. 选择HKEY_USERS \ VS2017PrivateRegistry

  7. 点击文件&gt;卸载Hive

答案 3 :(得分:6)

VS 2017或更新版

此PowerShell脚本应为最新安装的实例(改编自Anish's answer

启用此功能

您需要先关闭所有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 :(得分:4)

将其放在 .reg 文件上,然后双击它,这将使您双击比较,而不是在挂起的更改窗口中打开文件。

Windows Registry Editor Version 5.00

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

确保Visual Studio版本正确。

答案 5 :(得分:2)

您还可以为各种比较类型应用一些Visual Studio键盘快捷键 - Latest,WorkSpace和Previous。

请参阅以下帖子:Comparison keyboard shortcuts for Pending Changes in TFS

答案 6 :(得分:0)

VS 2019 And Beyond(希望如此)

使用Powershell构建Tereza的答案

$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

这也会尝试确定主要版本。