The development environment provides a fixed level of functionality and a select set of tools. You might find that you require some functionality or a tool that doesn't exist in the Integrated Development Environment (IDE), or you might find yourself repeating a simple task over and over. To address this issue with earlier versions, you might have purchased prefabricated controls or toolsets to augment the IDE. Now, you can create additions to our tools from within the environment using its extensibility object model.
Use objects from this model to construct add-ins — modular ActiveX components that connect to the IDE and provide added functionality. Add-ins can be constructed to work inside or outside the IDE, or both. They can automate repetitive tasks, monitor the IDE for the occurrence of certain events, act upon those events, and/or perform complex tasks. Add-ins can be activated through menu commands, toolbar buttons, or through Windows events.
Each of the development languages provides its own additions to the extensibility object model. You can write add-ins to automate the common IDE using the common environment's extensibility object model. You can also write add-ins to specific features in Visual J++ or any of the other development languages, using the object model provided for that language.