Configuring the new TreeDiff Power Toy
Someone asked me in a comment on my post announcing the new TFS Power Toys if there was any way to make it ignore certain files (like .obj files). The answer is yes. Rather than respond directly in a comment I decided to write a new post about it because there’s more you can configure.
If you run regedit.exe and look in: [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\TeamFoundation\PowerToys\TreeDifference] you’ll see a variety of TreeDiff settings. Including: [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\TeamFoundation\PowerToys\TreeDifference\NonRelevantMasks]
FolderExtensions=obj;objd These settings allow you to configure files and/or folders that TreeDiff will ignore when doing comparisons. Unfortunately, there is a bug that results in a mismatch in the default setting of this registry value and the code that interprets it. The FileExtensions value needs to be manually changed to: FileExtensions=.pdb;.obj;.dll;.exe;.res;.resources;.cache;.ilk
With the proper FileExtensions setting (and the already set default FolderExtensions setting), tree diff will skip comparing and files with .pdb, .obj, .dll, .exe, .res, .resources, .cache, .ilk extensions or any file what-so-ever under a folder called obj or objd. Additional settings in the registry include: [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\TeamFoundation\PowerToys\TreeDifference\Colors] There are a variety of values here that allow you to customize the colors tree diff uses to highlight differences. The names of the values are fairly self explanatory, so I won’t list them here. [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\TeamFoundation\PowerToys\TreeDifference\ViewOptions] Controls what kinds of comparison results get displayed (e.g. files that match, files that don’t, files only in the source, files only in the target). You don’t really need to mess with these registry keys as they can all be set from the right click menu in Tree Diff.
By the time this feature makes it into the shipping product, I expect that we will have UI to configure all of these values. We just figured you’d like to use this feature before we got that far 🙂 Have fun,