Archive for November, 2004

Converting DPack add-ins to VSIP package tales, part 1

For those of you not familiar with VSIP, it stands for Visual Studio Integration Package. The VSIP SDK (I use it with managed extensions) allows one to create a single package to distribute to VS.NET users. VSIP SDK (or just VSIP) allows for much tighter IDE integration than it’s possible with add-ins.

It’s a lot easier to define new menus, add new commands and place those commands in groups or onto already existing menus. VSIP packages use resource DLLs for that with a special .ctc file to set it all up. DPack has 6 add-ins that perform a lot of similar tasks: to enable commands most of them check if there is a solution, if there is at least one project in it and if there is a file open in the editor. All these tasks can be simply “described” in the VSIP .ctc file, including the command context and visibility. In other words, all of the add-in in-code context validation logic is no longer needed and that part is taken care of by the IDE. This leads to better package vs. add-ins performance and more consistent overall user experience.

The good:

Packages can have the same access to EnvDTE, relying on existing code model automation objects. What this means is that most/all of DPack add-in drivers will be convreted more or less as-is. Noteable exceptions are error handling and logging, which would have to be reworked. I already have two add-ins, Code Navigator and Bookmarks converted for the new package.

One other cool thing is that VSIP helper assemblies come with the source code. One can learn some interesting and helpfull info from that.

The bad:

Conversion is a relativly slow process due to a (diminishing) lurning curve.

The ugly:

If you get stuck with VSIP you are stuck for good. There is help that comes with SDK but it tells you what this function or construct is, but it doesn’t tell you a lot on how to apply it. Then there are samples, but… You only get four managed samples and most of them don’t illustrate some of the important areas VSIP users run into, such as intricacies of the .ctc file creation. BTW, I find .ctc file the most difficult and frustrating part to master (I’m not quite there yet).

There is also a private MS VSIP newsgroup but it doesn’t seem that MS provides much support there anymore. I’ve posted few times there but haven’t gotten much help so far. They must be busy with VS.NET 2005 but it doesn’t really help to solve my current VSIP problems.

That’s it for now.

Sergey @ USysWare

DPack Roadmap

Here’s what’s planned for DPack version 2.0 to be released sometime in 2005:

  • Whidbey (aka Visual Studio 2005) support
  • New add-in (to be disclosed at a later time)
  • Repackaging of individual add-ins into one VSIP package for better performance and better integration with Visual Studio
  • Bookmarks improvements
  • Chrome support (see Chrome’s web site for more info)

If you have any questions or feature requests please don’t hesitate to contact me. Thanks.

Sergey @ USysWare

DPack version 1.3.2 released

ust to reiterate from one of the previous posts, here’s what’s new in this release:

Code Browser add-in - introduced new member access visibility buttons to Code Browser add-in dialog. New buttons allow for additional member list filtering based on member access level visibility (Public, Internal, Protected and Private).

The new version is available at

Sergey @ USysWare

New DPack beta refresh is out

This beta refresh fixes a minor Code Browser add-in options persistence problem. For those who’ve downloaded the first beta please download the new version. Sorry for the inconvenience.

The new version is available at

Sergey @ USysWare