• VS AddinVS Automation Model


    [Full article: http://msdn.microsoft.com/en-us/library/aa290342%28VS.71%29.aspx]

    VS automation model gives us the chance to interact with VS IDE's everything including solution explorer, toolbar, document, etc. By developing a VSMaros or VS addin, we can automate some tasks in VS. Official words:

    "The Visual Studio .NET IDE consists of several interrelated tool windows, such as the Toolbox and the Task List, and document windows such as Solution Explorer and the Code Editor. The Automation model in Visual Studio .NET contains the programmatic objects and interfaces in the IDE that allow you, as a developer, to programmatically control and automate these windows as well as other IDE functionality such as solution and project build configurations, code editing, and debugging. Using the Automation model, you can create VSMacros, add-ins, and wizards to automate tasks, manipulate aspects of the IDE, and respond to IDE events."

     


    Figure 1.

    Model Name Description
    Core environment model This comprises the majority of the Visual Studio .NET automation model. It includes objects to control IDE elements (that is, tool and document windows, commands, menus, and so forth), events, and IDE functionality.

    Nearly all of the Visual Studio .NET Automation model is common across all Visual Studio .NET languages. Some additional objects are available for projects and for the Microsoft® Visual C++® .NET code model.

    Project model Includes both common and language-specific objects for controlling solutions, projects, and project items. Common solution/project objects work with any Visual Studio .NET project, whereas language-specific project objects are designed to work only with a specific Visual Studio .NET language.

    The project model is common across all Visual Studio .NET languages. Visual C++ .NET provides some additional extensions that are specific to that language.

    Editor model Includes objects to manipulate the text in the Code Editor such as inserting and deleting code, formatting and moving code around, setting bookmarks, and so forth.

    The editor model is common across all Visual Studio .NET languages.

    Code model Includes objects to discover code and project items and manipulate code definitions. This model exposes the classes, interfaces, structs, and so forth, and members of those types.

    The code model is common across all Visual Studio .NET languages. Visual C++ ® .NET provides some additional extensions specific to that language.

    Forms model Includes objects to control Windows Forms and form properties, but not Web forms.

    The forms model is common across all Visual Studio .NET languages.

    Debugger model Includes objects to control the Visual Studio .NET debugger.

    The debugger model is common across all Visual Studio .NET languages.

    Build model Includes objects to control solution and project build operations and configurations. Allows you to programmatically set debug options and create automated or unattended builds.

    The build model is common across all Visual Studio .NET languages.

    Each of these sub-models contains objects that relate to a specific UI element or functionality of Visual Studio .NET. For example, the Core Environment model — which contains groups of related objects and collections common to all Visual Studio .NET programming languages — has objects that allow you to manipulate the Toolbox, the Task List, code displaying in the Code Editor, and so forth. The Debugger model contains groups of related objects that allow you to control aspects of debugging, such as breakpoints, processes, threads, stackframes, and so forth.

    Although the Visual Studio .NET Automation model is composed of sub-models, the entire model itself is programmatically seamless and there are no boundaries between the various models, other than the fact that some models, such as the Forms model, are contained in separate type libraries or assemblies.

    VS Addin Platform:  http://allure.codeplex.com/

    Visual Studio Add-Ins Every Developer Should Download Now:http://msdn.microsoft.com/en-us/magazine/cc300778.aspx

  • 相关阅读:
    初识Python
    MySql的前戏
    abstract class 和 interface 有什么区别?(抽象类和接口的区别)
    java方法签名
    final
    OverLoad 和 Override 的区别
    WebService (什么是WebService ,有哪些优点? WebService由什么组成?分别对应的含义?)
    人民币
    快速排序
    动态反射
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1608970.html
Copyright © 2020-2023  润新知