What is an Add-In
See Also
Add-ins are tools that you create programmatically using objects and collections in the extensibility model to customize and extend the development environment. In a sense, add-ins are time and labor saving automation tools that "snap-in" to the integrated development environment (IDE).
The primary goal of an add-in is to enable you to automate a task in the development environment that is difficult, or tedious and time consuming to accomplish manually. There are four types of add-ins: add-ins, Wizards, utilities, and builders:
-
Add-in is the generic term for any ActiveX DLL or Exe which supports the IDTExtensibility2 interface, and can be loaded by the development environment.
-
A Wizard is an ActiveX DLL or Exe which leads a user step-by-step through a task, often an especially complex or tricky one. Although they can be constructed any way you like, Microsoft implements its Wizards in a specific manner. A Microsoft Wizard consists of a number of frames, each frame containing an image in the upper left corner, a label description to the right of the image which may also contain instructions, and an optional area near the bottom in which other controls can be placed. You implement wizards using the IDTWizard interface.
-
A utility is an add-in, sometimes a rather large one, which doesn't necessarily require the environment to run. This means that it is compiled as an ActiveX executable, but it retains the ability to also be called as an add-in in the development environment.
-
A builder is a type of add-in that watches the IDE for user-triggered events, (adding a new component to the current project, adding a new control to the Toolbox, adding a new control to a form, and so on), and then reacts by bringing up a series of screens to help ease the task which raised the event. This type of add-in is generally not triggered by an explicit request on the part of the user - it is activated by some event. Builders also don't usually have a wizard-style interface.
Add-ins don't necessarily have to be visible — they can sit hidden in the background and respond to events such as the sizing of a window. Or they may be entirely visual; for example they may resize a group of like objects when the user sizes only one of the objects.
For More Information For information about initializing a new add-in, see Using Add-In Designer in the Visual Basic documentation. Also see the sample add-in written in Java in the Visual J++ Samples directory.