Toys and Thanksgiving

So here we are the day after we try our best to gorge ourselves on turkey, stuffing, and many other foods. Hopefully everybody had a good holiday. Today is the traditional start of the shopping spree for the Christmas holiday. Me, I got my shopping done early. Usually the day after Thanksgiving I lock the…


Properties: How they work, why they exist

From talking with people, it appears that one area of confusion is over the use of the Properties object. How should you use it, how do the contents of this collection get generated, and why does it exist?   To start off, there is a Properties object available in a few places. The two most…


Visual IL

After a lot of time spent working on my IL editor and IL project, I finally have a workable version ready for you to try out, if you would like. The MSI file that is linked below, includes code for a project and an editor. The project has templates to create a class library, console…


New Add-in sample – Add Code Wizard

I originally wrote this sample for the wizards chapter of our book, but it really did not fit into the flow of the rest of the chapter. It was a tough cut, but it had to be done. I forgot about it until recently while doing some hard disk clean-up.   So what does this…


Contest & WebCast info

There is an Add-in writing contest going on over at They are giving away some great prizes – including a copy of our book that I will sign. I just finished up my web cast. It did not go as well as I would have liked, it was not too bad but it is…


Visual Studio Developer Center

If you have not noticed, the Visual Studio Developer Center on MSDN is now live. You will be able to find articles, whitepapers, etc. about programming both Automation and VSIP for Visual Studio. Visit the Developer Center at


News, an update, and a tip

If you have a MSN Watch, then basketball is now available as a channel. Now if I only liked basketball… Where is baseball and hockey?   An update to my last post: as I suspected, the .NET Framework was not the cause of my performance problems in my Visual Studio language service. When you would…


Using the clipboard

Sorry that I have not made a post in a while, but I have been very busy at work lately fixing bugs in the Whidbey object model, as well as working to get a new way of writing wizards ready (more info on that in a few days).   Not too long ago I was…


The 54 commandments of COM object model design.

There are a plethora of books, tutorials, whitepapers, etc. on the market describing how to use an existing object model. But I have never seen any real description of how to design a COM object model (the .NET framework has design guidelines, but I have not seen one for COM), even though it is a…


Use VSASSERT to help debug

Here is a second tip for debugging that requires a slight .h file change. If you have the VSIP SDK installed  and you need advanced assert help, use VSASSERT. VSASSERT is a nifty utility that is installed with the VSIP SDK that will put up an assert message. The advantage of this assert technology over…