The Visual Studio Add-in ecosystem is not as rich as it should be, especially compared with Eclipse, but it looks like the work that is going in to Visual Studio 2010 is going to change that. Microsoft's investment in MEF and updating core components of Visual Studio from COM to the managed world should make extensibility a much easier affair. That said, there are a few wonderful add-ins out there and here are 2 that I've randomly (and delightfully) stumbled upon:
On previous projects, we've adopted the following convention for mark-up (extract):
Before (all on one line):
The control is formatted so that every attribute is on a new line – this really helps when it comes to Team Foundation Server Version Control (TFSVC) and merged check-ins. By default in TFSVC files can be checked out to more than one person at a time (unlike the default setting in Visual Source Safe) which means that extra care has to be taken if two developers are working on the same file. When it comes to merging changes on the same file TFSCV is a little fickle and 7 times out of 10 you will have to do the merge by hand – in this case it’s very difficult to merge changes if all the code is on a single line and the default merging tool has issues matching blocks of code that have changed – thus spreading code over multiple lines – in this case Server Control attributes makes the merging process easier.
It was a bit of a pain having to manually format the mark-up to make it merge friendly. Then I stumbled upon Markup Tamer, which can automatically apply this convention to ASP.NET, Silverlight & WPF. Thus
You can download the installer from: http://www.codeplex.com/DimebrainMarkupTamer
To execute the add-in – you can find it on the edit menu:
And you can even configure it’s behaviour via Tools > Options
Configuration Section Designer
It’s a visual designer for creating ConfigurationSections, which generates the code, config xml and an XSD to give you IntelliSense, all through the wonder of T4 Templates:
Here’s an example of the Config Section the above diagram generated:
Using the ConfigurationSection (TfsServerConfiguration) is as simple as:
Configuration Section Designer is such a great tool, it’s hard to fathom why this isn’t included in Visual Studio, out of the box. It certainly removes all the associated pain of creating configuration sections and all the associated plumbing.
You can download the installer from: http://csd.codeplex.com/