Writing Add-Ins for Visual Studio .NET 
Buy it at Amazon
Read a Sample Chapter From The Publisher
Author Les Smith
Publisher APress
Length 552 pages
vbRad Rating: 5 fingers up. (5 out of 5)
Reviewed by Robert

I am known as a pretty efficient programmer (some say lazy). Many of the projects that take average human beings days to complete are finished by me in mere hours. In fact, if something needs to be done in a hurry, I am the go-to guy. And it isn't that I am so much better than the other programmers, no. The truth is that I look for and create tools that make my job faster, more enjoyable and less prone to writing stupid over and over again.

For instance, 99% of all the error handlers are the same. 99% of all the recordset fetches are identical. 99% of all HTML tables have the same structure. So why not generate them?

So this is where this book comes in. Some of you may know the author. He wrote VBCommander and VBXRef2000, so right off the bat, I have some healthy respect for him. Ok, on to what's actually in the book: an amazing array of features and examples and full-on projects.

Les gets started with a simple add-in. In the process he explains the ins and outs of what gets passed where, when and by whom. Essentially, you'll learn the beginnings of the Extensibility Object Model. You'll also find out various oddities about add-ins (they have to be registered %$!&). The author walks the readers through using the Wizard and the Macro system built into the IDE.

Next, he shows us how to manipulate code in the IDE (a key skill for generating code), how to manipulate controls on the form. Other chapters explore manipulating full projects and solutions, writing add-ins in and for multiple languages and handling automation events.

Handling automation events is actually more important than it sounds. It opens the field to an entirely new type of add-in. One that responds to your typing and smartly inserts code, where necessary. For instance, when I type in keyword 'try', I want a corresponding catch to appear with all my logging and tracing logic. Very cool.

Lastly, Les Smith ponders migrating VB 6.0 add-ins to .NET (don't do it, basically). The Extensibility Object Model for .NET is huge, very complete and sure to yield some interesting tools. In the past (vb6 days), to do something truly cool in an add-in you had to resort to subclassing the VB IDE. In fact, the best add-in ever, MZ-Tools, resorted to this technique. As a result, the performance of the IDE suffered on slower machines. With .NET, performance will be OK because the Model fires events based on the standard .NET event model. So subclassing in an add-in will probably become a thing of the past.

Anyway, the book is great. It covers every nook and cranny I could think of. Buy it.



Want more reviews and sample chapters? Click here.