Regarding: VS extensions in VS 2010 SDK RRS feed

  • Question

  • "The Visual Studio 2010 SDK provides tools and templates for building Visual Studio extensions. By using the Visual Studio 2010 SDK, you can build your own tool windows, create menu commands, and add extensions to the new Visual Studio editor and other features."

    How this is different from the Visual Studio Add-In projects ?

    is this backward compatible with earlier versions of Visual studio ?

    what should a developer do or which project should he  select to make an Visual Studio Extension backward compatible

    i am trying to develop something like this (Sample Browser Visual Studio Extension)


    what technology would you suggest ? i am planning to VC# and Visual Studio Add-in project template.

    let me know your thoughts or suggestions



    Wednesday, February 13, 2013 6:09 PM


  • Hi,

    1) Add-ins are high-level extensions for Visual Studio. They don't require the Visual Studio SDK. An add-in can:

    - Create commands
    - Create UI items: buttons, toolbars, commanbar popups, context menus, etc. temporary (removed when the add-in is unloaded) or permanents (they stay even if the add-in is unloaded)
    - Create toolwindows
    - Respond to events of the IDE

    In general, you can do a lot of things with add-ins, even access services of the Visual Studio like packages.

    2) Packages are low-level extensions for Visual Studio. They require the Visual Studio SDK. They can do all the things of an add-in (although with other approaches) and:

    - Create new editors
    - Create new document types
    - Create new project types
    - Create text editing features
    - Create new programming languages
    - Create/Interact with source control systems
    - And everything that you can imagine

    If you are starting a new extension, I recommend to use a package. Although more complex than add-ins, they are the future (add-ins don't receive new development from MS). And add-ins are not supported by the Extension Manager of VS 2010/2012.

    About backwards compatibility, add-ins can be made compatible with VS 2005, 2008, 2010 & 2012 with a single binary as long as you use the automation model of VS 2005 and .NET 2.0 (see HOWTO: Create an add-in that targets several Visual Studio versions with the same add-in DLL using C# or VB.NET). I am not specialist in packages, but at the very least if you have to make different binaries you can share the source code and use conditional compilation for tweaks.

    MZ-Tools: Productivity add-ins for Visual Studio: http://www.mztools.com. My blog about developing add-ins: http://msmvps.com/blogs/carlosq/

    • Proposed as answer by Carlos J. Quintero Thursday, February 14, 2013 7:20 AM
    • Marked as answer by Ego Jiang Thursday, February 21, 2013 8:19 AM
    Thursday, February 14, 2013 7:20 AM