Compare files on double click in Pending Changes view
Do shift + double-click instead.
The steps from VS2017 onward are a bit different. VS 2017 uses its own private registry, which is stored in your AppData folder.
Steps
Close all visual studio instances
Select the HKEY_USERS node, and click File > Load Hive
Open privateregistry.bin which can be found at
%UserProfile%\AppData\Local\Microsoft\VisualStudio\15.0_[*some key*]
Provide a key name. Eg VS2017PrivateRegistry
Navigate to the following path and create a new DWORD with value of 1.
Path:
HKEY_USERS\VS2017PrivateRegistry\Software\Microsoft\VisualStudio\15.0_[*some key*]\TeamFoundation\SourceControl\Behavior
Value: DoubleClickOnChange (DWORD) 1
Select HKEY_USERS\VS2017PrivateRegistry
Click File > Unload Hive
VS 2017
This PowerShell script should turn this on for the latest installed instance (adapted from Anish's answer)
You'll need to close all VS instances first.
$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 or older
This PowerShell command should turn this on for all installed versions:
Set-ItemProperty HKCU:\Software\Microsoft\VisualStudio\*\TeamFoundation\SourceControl\Behavior DoubleClickOnChange 1
There is a way to make this permanent so you don't need to shift + double-click: http://www.richard-banks.org/2010/07/how-to-double-click-to-diff-pending.html
Path: HKCU\Software\Microsoft\VisualStudio\<ver>\TeamFoundation\SourceControl\Behavior
Value: DoubleClickOnChange (DWORD)
0 == view as the primary command (default)
1 == compare as primary command