Your extension will be available shortly on the Visual Studio Marketplace at this link.

VSPackage Builder


A new project template that incorporates a “vspackage” design surface that makes it easy to start composing rich VS extensions.

4.9 Star
Visual Studio
Download (8,418)
E-mail Twitter Digg Facebook
Add to favorites
Sign in to write a review
Sort by:

4 Star
by YannDuran | July 16 2012

Great job!

A few little V1 glitches:

- double-clicking an element on the design surface doesn't always take you to the code-behind
- changing the element name automatically changes description menu/button label etc
- you can't enter a function key in the key bindings (F1 etc)
- while you CAN copy/paste one or more elements, it has never worked properly for me (you see them, but don't seem to be able to use them, though it may be my own fault)

There needs to be more information on how to add "locations" that don't appear in the location property of an External Group, or a way to add them to the dropdown box.

I'd REALLY like to see a VB version of this fantastic tool.

5 Star
by DanyR_ | July 01 2012

Comes in very handy (but always rebuild the solution after changes to the Command UI)!

I have just recently released my extension String Resource Builder at Visual Studio Gallery ( and the source at CodePlex ( for those who are interested in an example.

5 Star
by OsirisTerje | May 09 2012


5 Star
by KMoraz | March 28 2012

Nice job!

5 Star
by Peter Puszkiewicz | September 28 2011

Great job folks! This tool took nearly all of the head aches out of integrating extensions into the Visual Studio shell!

5 Star
by TeaDrivenDev | August 19 2011

Does away with the cumbersome manual management of lots of boilerplate declaration code, as well as providing a visual overview of your extension's structure. This really helps a lot, especially when your extension is getting larger.

5 Star
by Hendrik Wagenaar | January 13 2011


@cpmcgrath - under GeneratedCode\<project name>.tt, you can edit "GetIconPath" as follows:

string GetIconPath(string icon)
return @"..\Button Bitmaps\" +

At this point, you can add both a .bmp and a real .png to your project, use the .bmp in the editor, it will be replace the bmp with the png in the final generated code.

5 Star
by cpmcgrath | December 13 2010

Great Product, as someone who use to have to bugger around with the xml before this makes it so much easier. I have 2 complaints though.
First, allow png images to be used. Visual studio supports them and that way we can use transparency.
Second, please untabify your templates, some lines you use spaces others you use tabs, just always use spaces.

5 Star
by Adrian Alonso | September 22 2010

5 Star
by Rishen | September 01 2010

I really love the extension because it makes developing VSPackage UI elements so easy(no need hand coding the .VSCT file any more) so that I can focus on the app business logic.

Sign in to start a discussion

  • Separator for ToolBars
    2 Posts | Last post September 25, 2011
    • Is there a plan for a seperator between ToolBar buttons?
    • Forget about it.  I tried grouping the buttons but it did nothing - until I rebuilt the while solution...
  • PNG support
    1 Posts | Last post September 24, 2011
    • I'd like to know if there is any reason that the builtin images are 32-bit PNGs but user defined images can only be bitmaps?
  • How to add a menu (dyn.vis.) to the solution explorer menu ?
    4 Posts | Last post November 16, 2010
    • When I hand-write this I create a GuidSymbol (in VSPackage Builder named external) with a IDSymbol in it. My Custom group is then attached to this. Now when I put this in the vsct:
      <GuidSymbol name="guidSolutionExplorerMenu" value="{D309F791-903F-11D0-9EFC-00A0C911004F}">
            <IDSymbol name="ProjectItem" value="1072" />
      this is overriden when package is regenerated, as expected.
      Any suggestions (other than using the vsshlids.h file) ?
    • To overcome this issue I have inserted following line of code in the T4 template
      <Include href="..\CustomCode\CommandTableExtension.vsct" Condition="Exists('..\CustomCode\CommandTableExtension.vsct')"/>.
      Now I can place my definitions in a seperate vsct file. 
      This enabled me to add an external menu item pointing to this GUID/ID pair. From thereon I can connect a group and the button.
      Works fine for me !
    • There is a "Include Files" property on the vspackage design surface (click on a blank area in the designer) to support advanced scenarios where additional symbols, etc. need to be defined outside of the designer. However if you're looking for the solution explorer context menu guids and are happy to work on the design surface, these are available. Drag an "External UI" menu onto the design surface, click on the "Location" property and "...", and select from the "Known Locations" drop down, e.g. "Context Menu | Solution Explorer | Project Item".
    • Thanks James ! I wasn't aware of the possibility of including files and must have overlooked the External context menu dropdown. It's a great tool and will certainly advise it to collegue VSSX'ers!
  • Not showing up
    3 Posts | Last post September 09, 2010
    • It doesn't look like this is isolated to your template, but I hope you can help me.
      In C#>Extensibility I only have Visual Studio Package. Nothing else shows up.
      However when I start an Experimental Instance of VS (and install your template). I see yours and all the samples.
       Any ideas?
    • Try deleting the following directory:
      If that doesn't work, please let me know.
    • Don't worry, I figured it out. I had the Target Framework as 3.5. Changed it to 4 and it works.
11 - 14 of 14 Items