Change Visual Studio Compare Tool To WinMerge
This is old news but sometimes it’s better to refresh the memory for those who don’t know how to do that, most of the people that came from Other tools than Visual Studio already use to other Compare Tools and want to use them.
Open Visual Studio 2010, navigate to Tools menu and Options.

Navigate to Source Control –> Visual Studio Team Foundation… –> Click the “Configure User Tools…”

Complete the below fields to configure WinMerge with Visual Studio Source Control.
Extension: .*
Operation: Compare
Command: C:\Program Files (x86)\WinMerge\WinMergeU.exe
Arguments: /ub /dl %6 /dr %7 %1 %2
- %1 = Original file (in diff, the pre-changes file, in merge, the "server" or "theirs" file, the file that is the base file after "their" changes were applied)
- %2 = Modified file (in diff, the post-changes file, in merge the "yours" file - the base file with "your" changes applied)
- %3 = Base file (in the 3-way merge operation, the file which both "theirs" and "yours" are derived from - the common ancestor. This doesn't mean it's the version the changes were based from, since this may be a cherry-pick merge)
- %4 = Merged file (The output file for the merge operation - the filename that the merge tool should write to)
- %5 = Diff options (any additional command-line options you want to pass to your diff tool - this comes into play only when using "tf diff /options" from the command-line)
- %6 = Original file label (The label for the %1 file)
- %7 = Modified file label (The label for the %2 file)
- %8 = Base file label (The label for the %3 file)
- %9 = Merged file label (The label for the %4 file)

After saving the custom configuration when calling “Compare” in source control you will be notice the WinMerge dialog is prompting instead of Source Control Compare.

CodeProject