When you choose File | New | Project, Visual Studio offers its selection of project types in the New Project dialog box. By expanding the Other Projects node and selecting Extensibility, you'll find the Visual Studio Add-in template shown in Figure 6-1; double-click its icon to launch the Add-in Wizard.
Figure 6-1: The Visual Studio Add-in template
The six pages of the Add-in Wizard collect your choices about the final form of your add-in. The wizard gives you control over the following areas:
Programming language The Add-in Wizard generates the add-in source code in one of four programming languages—Microsoft Visual C#®, Microsoft Visual Basic® .NET, Microsoft Visual J#®, or Microsoft Visual C++® (by using either Managed C++ or the Active Template Library [ATL]). Of course, you're not restricted to these languages when you write add-ins by hand.
Application host Add-ins can run in the Visual Studio IDE, the Macros IDE, or both. With few exceptions, the rules that apply to an add-in running in the Visual Studio IDE also apply to an add-in running in the Macros IDE. (We'll point out differences between the two hosts when appropriate.)
Name and description These settings let you associate a meaningful name and description with your add-in.
Menu command The Add-in Wizard can generate code that creates a new menu item for your add-in, giving users a convenient way to load your add-in and execute a command.
Command-line build support You can mark your add-in as being safe for use with unattended builds. Such an add-in promises that it won't display user interface elements that require user intervention (such as modal dialog boxes).
Load at startup Add-ins can request that they be loaded automatically when Visual Studio starts up.
About box information You can provide support information for your add-in that Visual Studio will display in its About dialog box.
When the Add-in Wizard finishes, it generates an add-in project that builds the add-in DLL.