When creating a new extension for visual studio, there are two project options: 'Visual Studio Integration Package' and 'Visual Studio Add-in'. What is the difference between the two project types and when would you use one over the other?
Visualization and Modeling Forum - for Visual Studio Ultimate architecture tools - UML, DGML, Architecture Explorer. Where to find code Samples for Microsoft Visual C# Step by Step 9th Edition. Visual Studio Development Visual Studio Integrate. About VSX, MEF, EnvDTE, Text Templates (T4) and other non-modeling extensibility.
![Visual studio code Visual studio code](https://adamdriscoll.gallerycdn.vsassets.io/extensions/adamdriscoll/powerguivsx/1.5.6/1482138876444/32974/0/Screenshot.png)
3 Answers
Ok, you can find a full detailed comparison here (there are also links to the previous parts in the series).
But basically, add-ins were available as the VS extension type from the very first versions of the VS and built as the COM components. Later on, some limitations were discovered in that approach, so the new extensibility feature was created -- namely VS SDK package.
Probably, if you are building an extension for VS 2008+ you should target the VS SDK package as the newer technology. Another strong point of the VS package is better integration with the Visual Studio.
Whatever you do, add-ins are an external thing for Visual Studio while VSPackages are a completely integrated part of the IDE.
You still might consider building an add-in, if
- you need access to high-level extensibility API, as opposed to low-level fundamental API available from a VS package;
- you develop in Visual Basic (templates for VS Package are available only in C# / Visual C++);
- you want to automate a simple task / common scenario, then add-in will probably require less development effort.
Important point on Visual Studio Add-in vs Package, Add-ins are deprecated in VS 2013 and will not be available in VS '14'
'Official' guidance from How to: Create an Add-In is 'Visual Studio add-ins are deprecated in Visual Studio 2013. You should upgrade your add-ins to VSPackage extensions....'
Vincent VancalberghAn integration package is something that can be chosen when you start a new project (like how you pick C# or VB).
See http://www.bitwisemag.com/copy/features/dev/visual_studio/vs2005_integration_1.html.
Add-ins work just like they would for MS Office applications. You can add your own custom buttons and menu items. Here is an example: http://www.c-sharpcorner.com/UploadFile/mgold/AddIns11292005015631AM/AddIns.aspx.
Not the answer you're looking for? Browse other questions tagged visual-studiovsxvisual-studio-addinsvspackage or ask your own question.
-->In this procedure, you learn how to use the VSIX project template and the Custom Tool Window item template to create an extension with a tool window.
Prerequisites
Starting in Visual Studio 2015, you do not install the Visual Studio SDK from the download center. It is included as an optional feature in Visual Studio setup. You can also install the VS SDK later on. For more information, see Install the Visual Studio SDK.
Create a tool window
Create a VSIX project named FirstWindow. You can find the VSIX project template in the New Project dialog by searching for 'vsix'.
When the project opens, add a tool window item template named MyWindow. In the Solution Explorer, right-click the project node and select Add > New Item. In the Add New Item dialog, go to Visual C# > Extensibility and select Custom Tool Window. In the Name field at the bottom of the window, change the tool window file name to MyWindow.cs.
Build the project and start debugging.
The experimental instance of Visual Studio appears. For more information about the experimental instance, see The experimental instance.
In the experimental instance, go to View > Other Windows.
You should see a menu item for MyWindow. Click it.
You should see a tool window with the title MyWindow and a button saying Click Me!.