zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    *p++与(*p)++与*(p++)------自增运算符常见误区
    二维数组(解引用、指针数组、数组的指针)——C语言
    二叉树、前序遍历、中序遍历、后序遍历
    C语言参数传递(值传递、地址传递)+二级指针
    文件操作(FILE)与常用文件操作函数——C语言
    结构体(结构体嵌套、结构体指针、结构体参数传递)
    链表(单向链表的建立、删除、插入、打印)
    博文与文档发布玩法:Github + MWeb + 语雀 + Cnbolgs
    [笔记] Git 冲突处理
    [笔记] C# 如何获取文件的 MIME Type
  • 原文地址:https://www.cnblogs.com/taoxu0903/p/1608970.html
Copyright © 2011-2022 走看看