通过自动操作来生产
在今天的动态操作环境中,专业开发人员的工具不仅需要功能性,同时也需要灵活性。对于在开发者都希望使功能最大化的思潮中,他们必须使用可以适应个人,队伍和应用程序需求的无休止的变化的工具。Microsoft Visual Studio .NET 通过提供用于定制的,自动化的和可扩展的集成开发环境(IDE )的丰富模型来达到这个基本需求。
Visual Studio .NET automation model 是一个全面的编程接口,它为开发者提供了对驱动IDE的基本部件和事件的直接访问。它使开发者可以对环境的外观和感觉进行定制,提供核扩展它的功能性,自动重复任务并且把Visual Studio .NET 与其他应用程序,例如Microsoft Office ,集成到一起。
内置的和用户定义的特性
Visual Studio .NET提供了两种定制的方法:都是创建到环境中并且被用户定义。内置的定制特性包括便捷,例如可编程快捷键,还有完全可定制的命令条和工具窗口配置。
用户定义的自动特性由代码创建,它们为开发者提供了对Visual Studio .NET IDE 有计划的访问,并且通过下面的机制实现:
· Add-ins
· 向导
· 宏
· Visual Studio .NET集成程序
基础:一个完全自动的模型
掌握了Visual Studio .NET 的自动能力,开发者获得对制作他们专门需要的开发环境的非常丰富的模型的访问。为了可以对环境的几乎每个方面进行定制,Visual Studio .NET 发布了一个全面的对象模型。大约由200个对象组成,这个模型提供了对Visual Studio 代码编辑器、项目层次、代码模型、调试器、菜单和命令行、创建过程、还有由Visual Studio .NET组成的包括任务列表,工具箱和方案管理器的各种各样的工具窗口的直接访问。

图1. Visual Studio .NET自动对象模型
自动化模型包括许多分离的相关的对象功能组,它们控制IDE的主要方面。所有这些功能组全部在图1中列出。它们包括:
· 解决方案和项目相关对象
· 工具窗口对象
· 代码编辑器对象
· 调试对象
· 代码操作对象
· 窗口和文档操作对象
· 事件对象
· 附加管理对象
上面的每一个功能组都由一系列各司其职的对象,收集和接口组成。例如,事件对象组的主函数是提供对发生在IDE中的对象进行访问。对象TaskListEvents ,事件成员组中的一员,使得开发者可以发生在任务列表工具窗口中发生的事件。这个组中的另一个对象是对象BuildEvents ,它使得开发者可以编写在创建操作过程中发生的事件背后的代码,例如创建过程中的起始和完成。当Visual Studio 地前一个版本公布了一个事件模型,它代表在IDE中产生的事件的一个小子集。通过使用Visual Studio .NET ,事件对象组已经被广泛地扩充,来使开发者可以对环境中几乎所有对象进行定制和括充。
对象TaskList 表现了Visual Studio .NET 任务列表工具窗口和与项目任务的添加、删除和操作的关联。环境中的其他对象包括Project 功能组,它表现了组成一个Visual Studio .NET 对象的项目。这个功能组中的对象使得开发者可以在一个项目中添加,移动和保存项目-也获得关于他们自己的信息,例如项目中包含的文件数目和路径和文件名称信息。