I first want to congratulate Microsoft on releasing a diff tool that is significantly better than any of their previous versions. I would also like to thank the developers for giving us a way to change the default tool to something else.
Personally I prefer using Beyond Compare. There are a number of reasons why I like it better but in the end it just comes down to what you are familiar with and personal preference. If you are still stuck in the stone age using tools like WinDiff, SourceSafe give it a try, it is free for 30 days.
Anyway, here is how you change the default diff/merge tool in Visual Studio. I know this works in 2005 and 2008. From what I recall the menus are pretty similar in each version.
- Open Visual Studio
- Click Tools.. Options
- Select Source Control in the left pane. (If it is not there check the “Show all settings” box at the bottom left.
- Select Visual Studio Team Foundation Server.
- Click the “Configure User Tools” button in the right pane.
- Click Add in the “Configure User Tools” window
Now you are ready to enter the configuration for whichever tool you choose to use. Below is what I entered for Beyond Compare.
Compare Settings:
%1 %2 /title1=%6 /title2=%7
Merge Settings:
%1 %2 /savetarget=%4 /title1=%6 /title2=%7
If you are not using Beyond Compare here is a post by James Manning that lists settings for different compare and merge tools including WinDiff!
UPDATE (2/20/08): Added Merge settings

[...] Changing the diff/merge program used by Visual Studio [...]
Pingback by Visual Studio and Beyond Compare. Nice! « Tom Krueger — March 19, 2008 @ 8:39 am
That rocks! You should tell all your co-workers about that.
Comment by Jim — March 26, 2008 @ 3:56 am
Thank you so much for this info. I have shared this with some of my coworkers.
Comment by Kunikos — October 22, 2008 @ 2:51 am
Fantastic, i use it everyday. Thank you very much!
Comment by Jared — July 17, 2009 @ 1:35 am
Beyond compare is really beyond compare. Thanks for the info!
Comment by Azher — November 5, 2009 @ 9:02 am