SharpTools Extensible VS Add-In with Plug-in style SDK
If you've ever created an add-in for Visual Studio .Net you know that, for first timers, the "COMness" of generated template code and our Extensibility model can be a steep learning curve. Recently, Jon Schwarts sent me highlighting their SharpTools add-in. Here is what he said:
"SharpTools: an extensible add-in to the Microsoft Visual Studio.NET development environment, and a software development kit (SDK) supporting the rapid development of further extensions which will run within SharpTools as part of the VS.NET IDE. "
Official Web Site: https://www.ms-inc.net/Default.aspx?Page=SharpToolsInfo
On creating your own plug-ins: "SharpTools also encapsulates and implements nearly all of the programming code normally required to build an add-in to the Visual Studio.NET development environment. In doing so, SharpTools provides an abstracted and greatly simplified programming interface, which allows a developer to create their own add-in to the Visual Studio.NET environment, without learning the arcane details of doing that from scratch. An accompanying Software Development Kit provides supporting documentation, sample plug-in code, and templates which allow the automatic generation of new SharpTools plug-ins in either C# or VB.NET."
What I say (This is IMO)
I had a chance to play around with this today. When I first installed it I received an error about not having a database installed and the need for it to install a database to work properly. This was apparently only for one of the plug-ins that ship with the tool. I choose not to install the database and everything else worked fine.
It would have been nice for it to install some documentation or a link to a readme file on my start menu. I had no idea what was installed or how to use it until I fired up VS, found the new toolbar, and started clicking around. The code navigation tool window that codes OOB is my favorite default plug-in, but I was more interested in how easy it was to create my own.
In the install directory I found a couple of great sample projects. I opened the "Controls Sample", changed some text, built, moved the resulting class library to the plug-in directory, restarted VS and there it was. If found the exposed interfaces easy to use and the samples provided where excellent. It's an especially great alternative for those of you looking to use User Controls as managed tool windows without having to worry about the Shim control in VS 2003. The tool window samples just worked and were easy to get going with compared to the hours of headaches I've gone through creating managed tool windows otherwise.
If you are just getting started with VS Extensibility this is a quick path to some success. Because any created plug-ins would have this add-in as a dependency it might not be the best for redistribution of your tool, but I can't deny the learning curve and 1st try success coolness factor of this. Hopefully, in VS 2005 we'll have some starter kits up to par with these samples that also help people get going with our add-ins now that we have removed the need for the shim control.