During my first week at work on the Visual Studio Ecosystem team, James (my boss) asked me to take a look at the Visual Studio Command Tables and try to make sense of it.  To be honest, it was really confusing.  For those who don't know what they are, VSCTs are directives in an XML file that tell Visual Studio where to place commands and the metadata associated with each command.  In plain english, it tells VS where the File menu should be, what should go under it, etc.

When you build a package and go through the wizard, by default, you will get an entry under the View / Other Windows menu.  To move that to a more easily discoverable location, you'll need to change the VSCT file.  The problem you'll run into is you're not sure what to put in the VSCT file to place it in a better location.

The VSCT PowerToy will help with that.  The powertoy will allow you to load all the command tables registered on your machine.  You can then search for the menu command you want your own command under (or near).  The tool will show you the guid value you'll need to use to plug into your VSCT file.  The developers on our team use the tool a lot to help with debugging issues with the shell.

The PowerToy has been uploaded to the MSDN Code Gallery at http://code.msdn.microsoft.com/VSCTPowerToy.

The PM spec for it was one of the first things I wrote after joining the team and it's satisfying seeing something you help create become reality and actually ship for customers to use.  Next step is to improve the SDK to make adding/searching/modifying commands a lot easier in future SDK releases.

Credits:

- Chris McGuire for building the original tool and maintaining it

- Pablo Galiano for getting the tool in a state that it's shippable

- Ken Levy for getting the final release logistics in place