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

Jeh*_*hof 54 tfs visual-studio-2010

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

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

Fry*_*Guy 60

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

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

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

  • 这在使用Team Foundation Server作为后端时有效,但对于Git后端则不行.Shift-double click虽然如下所示http://stackoverflow.com/a/4396393/81949 (3认同)
  • 在 VS 2019 中仍然有效,尽管我必须创建所有键“TeamFoundation\SourceControl\Behavior” (2认同)

Noa*_*rds 59

切换+双击.

  • 真棒!TFS很酷,但是龟队在可用性部门有很多权利--TFS可以从中学到一些东西. (2认同)

Ani*_*ish 15

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. 导航到以下路径并创建值为1的新DWORD.

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

    :DoubleClickOnChange(DWORD)1

  6. 选择HKEY_USERS\VS2017PrivateRegistry

  7. 单击文件>卸载配置单元


Ter*_*ova 9

VS 2017

此PowerShell脚本应针对最新安装的实例启用此功能(改编自Anish的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
Run Code Online (Sandbox Code Playgroud)

VS 2015或更旧

此PowerShell命令应针对所有已安装的版本将其打开:

Set-ItemProperty HKCU:\Software\Microsoft\VisualStudio\*\TeamFoundation\SourceControl\Behavior DoubleClickOnChange 1
Run Code Online (Sandbox Code Playgroud)


Dar*_*ryl 6

VS 2019 及以后(希望如此)

使用 powershell 以 Tereza 的答案为基础

以管理员身份运行 powershell 并关闭 Visual Studio。(您可能需要等待几秒钟让 VS 释放一些文件)(如果您复制粘贴,请确保发送最后一个命令,否则 VS 将无法启动)

$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
Run Code Online (Sandbox Code Playgroud)

这也试图确定主要版本。


And*_*ena 5

将其放在.reg文件中,然后双击它,这将使您进行双击比较,而不是在待处理的更改窗口中打开文件。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\SourceControl\Behavior]
"DoubleClickOnChange"=dword:00000001
Run Code Online (Sandbox Code Playgroud)

确保Visual Studio版本正确。