Feature Builder Power Tool - create rich VS extensions

    General discussion

  • Feature Builder is a Power Tool for Visual Studio 2010 which helps you easily create rich Visual Studio extensions. 

    These extensions may include tools (Visual Studio automation), code (your sample code or binaries you wish to share with others) and a map (a set of steps your users will want to follow to get the best experience with your extension). You can use this power tool to quickly package up sample code with documentation, custom menus, or take the time to create complete automated guidance experiences targeted toward a specific technology. You can share your extension with users by distributing a .vsix file, or posting to the Visual Studio Gallery.

    You can create two different kinds of extensions using Feature Builder. A standard Feature Extension can contain tools, code, and a simple map - it will run on the Visual Studio Professional edition and above. A more advanced extension, called an Ultimate Feature Extension, can contain everything a standard feature extension can contain, as well as rich modeling and visualization tools that can take advantage of the modeling platform inside the Visual Studio 2010 Ultimate edition (required). These tools can be used to provide a logical view of your target solution, and to visualize your existing code. This is the preferred type of extension to use if you intend to provide architectural guidance or share specific refactoring or pattern knowledge.

    Feature Builder requires Visual Studio 2010 Ultimate Edition, and the installation of the Visual Studio SDK to author/build Feature Extensions. 

    The 1.0 version supports feature extensions running on Visual Studio Professional edition and higher (but still requires the Visual Studio Ultimate edition to author a feature extension).

    Also, please read the release notes posted in the Visual Studio 2010 Visualization and Modeling Tools Forum for installation and migration issues if you've installed the previous version.

    An introductory video (which includes a "hello world" example) is available on Channel 9: .

    This tool was produced by the Visual Studio product group in collaboration with patterns & practices, the Developer Platform Evangelism group, and Microsoft Consulting Services.

    Feature Builder for VS2010 FAQ

    Q: #1 What do I need to have installed to use Feature Builder?

    A: Visual Studio 2010 Ultimate Edition Release Candidate, the Visual Studio SDK for RC

    Q: #2 What do users need to run my Feature Extension?

    A: If it is an Ultimate Feature Extension, then VS2010 Ultimate Edition is required.  If it is not an Ultimate Feature Extension, then it will run on Visual Studio 2010 Professional Edition Release Candidate or Visual Studio 2010 Premium Edition Release Candidate.  In either case, your users will *not* need the Feature Builder.  The Feature Extension runtime library that supports all feature extensions is included in your VSIX and will be automatically installed if necessary.

    Q: #3 Will Feature Builder work on Visual Studio 2010 RTM SKUs?

    A: The Feature Builder Preview has been certified only for VS2010 Release Candidate.  Use on RTM at your own risk and without support.  You will see this dialog when you start Visual Studio:


    Q: #4 Is the Visual Studio SDK required to use Feature Extensions I build?

    A: No.

    Q: #5 When trying to run a Feature Extension I get the following dialog.  What do I do?


    A: The Feature Extension Runtime is not enabled.  Open the Extension Manager (Tools à Extension Manager) and click on the Feature Extension Runtime and if the button that appears says “Enable”, click on it and restart Visual Studio.

    Q: #6 Is the Feature Builder Preview supported on Windows XP and Windows Server 2003?

    A: In order to run Feature Builder on either XP or Server 2003 you must create an environment variable named LocalAppData (set by default on Windows Vista and Windows 7). 

    How to Add LOCALAPPDATA variable in Windows XP

    o Right-click on the My Computer icon and choose Properties

    o Click Advanced

    o Click Environment Variables

    o Under User variables section, click New

    o In the Variable name: field, type LOCALAPPDATA

    o In the Variable value: field, type %USERPROFILE%\Local Settings\Application Data


    Q: #7 When trying to debug my Feature Extension I get the following dialog.  What do I do?


    A: This means you have either not copied the Feature Extension Runtime to the LocalAppData store for Experimental Instance or the Feature Extension Runtime is disabled.  Open your Feature Builder solution and follow the steps found in the guidance for Authoring Feature Extensions.

    Q: #8When running my Feature Extension, my menu items do not appear.  What went wrong?

    A: There are two possibilities.

    1. Your VS Launch Point is connected to an action in the "Map" and that action is not in the "ready" state as denoted by the green circle next to that action in the Guidance Workflow Explorer.

    2. You have encountered a condition in which the menu data in your VSIX is out-of-sync with the data in the registry installed by the behind-the-scenes build process for VSIX packages.

    To fix this rarely occurring issue follow these two steps:

    a. Open the Feature.commands document, right click on the designer surface and select Generate Commands Binding and Launch Point Code

    b. Right click on the topmost node in your solution and select Clean Solution from the context menu.

    c. Build and try again.

    David Trowbridge | Architect | Visual Studio Team Architecture Edition| Microsoft


    Friday, May 14, 2010 2:41 AM