One of the great features of Visual Studio is its support of add-ins. Out-of-the box, Visual Studio is a complete development package, but there are always ways to improve it. This is what add-ins are for. My favorite add-ins are:

TestDriven.Net - I spoke about this great unit testing and code-coverage suite last BLOG post. It is good enough that I thought it is was worth mentioning again.

Collapse All Projects - Our Visual Studio solutions commonly consist of 10-20 projects. When you open a solution in Visual Studio, for whatever reason, Visual Studio's Solution Explorer insists on expanding each and every one of them. I found that I was spending a disproportionate amount of time, closing them until I found this very useful utility that will close all of them for me from a context menu in Solution Explorer. I'm not sure why Visual Studio did not ship with such a feature (it seems so obvious) but I'm glad Jeff B. was thoughtful enough to write one and share it with us.

The last add-in favourite really isn't an add-in but a Visual Studio option I discovered the other day. One of the things we do before we check work into our repository is to compare our files with those stored in the repository to ensure what we're checking in, is really what we intended to check in. The way we do this is to use Visual Source Safe's compare function, available from Solution Explorer's context menu The problem is that when our projects contain a large number of files, it can take some time to locate that file, notwithstanding we have the file open in our editor, right in front of us. Visual Studio has an option that will keep Solution Explorer in-sync with the file open in its editor. It is turned off by default, although I think it should be turned on. To turn it on, Go to [Tools] -> [Options] -> [Projects and Solutions] -> [Track Active Item in Solution Explorer].