An Avanade Blogging Community

Welcome to An Avanade Blogging Community Sign in | Join | Help
in Search

Geek.Speak()

Custom Tools in VS2005

One of my favorite features of Visual Studio 2005 is the work they’ve done in the Custom Tools develop area.  Custom Tools are those handy little VS extensions that let you generate code in the IDE.  The most infamous is the DataSet generator.

CustomTool

MSDataSetGenerator is wired up in the IDE via the following registry setting…

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Generators\{fae04ec1-301f-11d3-bf4b-00c04f79efbc}\MSDataSetGenerator

CustomToolRegistry

In short, what this does is wires up a COM registered assembly that implements a certain number of interfaces expected by VS and that assembly does that actual code generation.  Like most things in VS extensibility, you’re free to create your own.  Doing this VS.NET 2003, was not nearly as friendly as it could have been.  In VS2005, the process is much more streamlined.  There are tons of sites and blog posts out there explaining how to do this, but what’s new in VS2005 is the IDE automatically detects that you’re developing a Custom Tool when you implement the aforementioned interfaces and automatically COM registers the assemblies, and creates the necessary registry entries.

So… this

CustomToolCode

automatically gets the following register key created by the IDE – notice the CLSID in that key matches the GUID that decorated on my custom-custom tool class!

EntityGeneratorRegistry

That earns huge props in my book.  I plan to post a How-To guide on custom tool development.  If you’re reading this and that sounds of interest to you, leave a comment - that will help bost my motivation.

Published Tuesday, February 28, 2006 2:00 AM by kellyb
Filed Under: ,

Comments

 

michaelv said:

bosting motivation :)
September 8, 2006 2:42 PM
 

kellyb said:

yeah... bosting is one of my favorite activities
September 8, 2006 2:42 PM
Anonymous comments are disabled

This Blog

Post Calendar

<February 2006>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011

News

The posts on this weblog are provided "as is" with no warranties and confer no rights. The opinions expressed herin are the personal opinions of the individual authors and do not represent the views of Avanade in any way.

Syndication