|< Free Open Study >|| |
An add-in extends the functionality of the Visual Studio IDE. Extensibility, therefore, is the mechanism exposed to the add-in developer that provides the ability to enhance and extend the functionality of the IDE. Automation refers to user-created code and tools that automate tasks in the environment and programmatically drive the IDE. Extensibility basically exposes the IDE internal functions to the add-in developer. The creative developer can programmatically invoke almost all of the tasks, which can be performed using the multitude of menu options, tool buttons, and shortcut keys in the IDE. Add-ins are literally limited only by the imagination and creativity of the developer.
You can use the Visual Studio .NET automation model to create custom tools for taking the time-consuming drudgery from mundane development tasks. You can create a tool to help other programmers create their applications. This is the ultimate goal in writing add-ins. The automation model was known in earlier versions of Visual Studio as the extensibility object (and the terms "automation model" and "extensibility object" are used interchangeably). It is a programming interface that gives you access to the underlying routines that drive the IDE. The automation model allows you to customize, manipulate, and automate the IDE. For example, you can programmatically create projects and project items, including classes, forms, and methods, and you can even automate the project build and deployment processes.
You can access the automation model in one of two environments. The first, and obviously the easiest, is through macros. Visual Studio .NET introduces the macro recorder and accompanying Macros IDE. These features are completely new to Visual Studio, and I cover them in detail in Chapter 8 of this book. The second, more complex, yet infinitely more rewarding method is to create extensions to the IDE by writing add-ins. Add-ins are compiled applications that manipulate the development environment and automate tasks.
Add-ins can be invoked in a variety of ways, including through the Add-in Manager, toolbar commands or buttons, the development environment (devenv) command line, and events such as IDE start-up. A variety of add-in and macro examples are available in the samples/automation directory of the third Visual Studio CD.
In addition to the common automation object model provided by Visual Studio to all of its languages, tools, and packages, individual Visual Studio development languages can also offer their own unique additions to the automation object model to support their specific features and components. As a result, you can create an add-in that works equally well with any Visual Studio language or one that is tailored to support the special features of a particular language, such as Visual Basic, Visual C#, or Visual C++.
|< Free Open Study >|| |