The VSCT PowerToy

One thing that amazes me about the technical blogosphere is how fast information travels. Yesterday the VSX team blog posted an entry about the VSCT power toy, something that—from the screenshot shown in that entry—looks indispensable when working with packages. The power toy, which installs in Program Files by default under the VSCTPowerToy directory, is a stand-alone application whose UI breaks down the components of command tables from any VS package, or Visual Studio itself, into a logical tree-view of information, a part of which is shown below:

image

The picture above illustrates the basic structure when the power toy analyzes Visual Studio itself. Because of how many commands there are in Visual Studio, it would be overwhelming to show them all in the image, so it may be more helpful to look at the command table for a specific package or VSCT file. If you’ve been reading this blog you can probably infer that my “favorite” package is the LINQ to SQL package, so let’s have at some more features of the tool with it. (For reference, from your Visual Studio 2008 install directory, it is in Common7\IDE\Microsoft.VisualStudio.ORDesigner.DslPackage.dll.) Simply opening the DLL in the power toy gives us the following:

 image

As you can see, we can drill down into the menus exposed by the VSCT file embedded in the LINQ to SQL package assembly. Although small compared to the rest of Visual Studio, packages like these can really help you become familiar with the taxonomy of groups, menus, buttons, etc. that are involved in a command table. Another advantage is that it shows you the snippet of the file you have highlighted in the treeview. For example, since we highlighted the Association button in the picture above, a contextual snippet window below will show the following:

image

And there it is, as specified in the original VSCT file. I am not sure about whether snippets from other files in their respective formats, or whether they show in a VSCT format like this one. Regardless, this functionality can be a great aid to package developers looking for an easy way to find their desired hooks within Visual Studio. Give this tool and try and be sure to check out the document (linked on this page) for more features!

Leave a Reply