I don’t like the diff/merge tool that comes with TFS. At all. It isn’t just that it’s feature-poor; it also isn’t good at the one thing it’s supposed to do. I’ve had a quite a few merge operations go horribly wrong, resulting in data loss and syntactically incorrect merge results. Today I found two excellent articles that described how to replace the default TFS diff/merge with an alternative one:
TFS: Using Alternative Diff/Merge Tools
diff/merge configuration in Team Foundation - common Command and Argument values
There are a lot of alternatives out there. I chose to use KDiff3 because it is both free and popular. Most of the other alternatives are either one (Beyond Compare is very popular but not free) or the other (SourceGear DiffMerge is free and looks very good but is not as well-known).
When choosing an alternative, make sure that you choose one that supports 3-way merges. They are much more accurate and reliable than 2-way merges. Of the options listed in the articles above, that means to rule out WinMerge and Beyond Compare prior to version 3.