Common Diff Tool Configurations For Visual Studio

The original information shown here was taken from James Manning's wonderful blog post. He also shows the arguments to use for many merge tools as well.

Here is a list of common Diff (i.e. Compare) Tools and the default Command and Arguments that should be used with them. See the section below for how to access the window that these settings should be used in.

Product Command Arguments
TFS default diffmerge.exe %1 %2 %6 %7 %5 /ignorespace
WinDiff windiff.exe %1 %2
DiffDoc (for Word files) DiffDoc.exe /M%1 /S%2
WinMerge winmerge.exe /ub /dl %6 /dr %7 %1 %2
Beyond Compare bc2.exe %1 %2 /title1=%6 /title2=%7
KDiff3 kdiff3.exe %1 --fname %6 %2 --fname %7
Araxis compare.exe /wait /2 /title1:%6 /title2:%7 %1 %2
Compare It! Wincmp3.exe %1 /=%6 %2 /=%7
SourceGear DiffMerge DiffMerge.exe /title1=%6 /title2=%7 %1 %2
Beyond Compare 3 BComp.exe %1 %2 /title1=%6 /title2=%7
TortoiseMerge TortoiseMerge.exe /base:%1 /mine:%2 /basename:%6 /minename:%7
Visual SlickEdit win\vsdiff.exe %1 %2

And here is a legend for what each of the arguments mean:

How To Change The Default Visual Studio Diff Tool

To change the default Diff Tool that Visual Studio uses for comparing various file types, in Visual Studio go to:

You should see the Configure User Tools window. Click the "Add..." button to get the Configure Tool window.

 Configure User Tools window Compare Tool window

Specify the file types that you want the new diff tool to be used to compare (use .* to specify all file types), make sure the Operation is set to Compare, set the Command to the diff tool executable's path, and specify the Arguments to pass to it (see section above for common diff tool arguments).