使用自动化模型

在连接的 VSPackage 为自动后,可以通过调用 _DTE 对象的 GetObject 方法获取属性和方法,并传递表示要检索的对象的字符串。

获取项目对象

下面是显示两个代码示例自动使用者如何获取初始项目自动化对象。 第一个示例使用一 Visual Studio 宏;第二个使用 C++ 代码。

Sub DoAutomation()
    Dim MyProjects As Projects
    MyProjects = DTE.GetObject("AcmeProject")
End Sub
void DoAutomation(void)
{
  CComQIPtr<Projects> pMyPkg; // Use an IDispatch-derived object type.
    pMyPkg = pDTE->GetObject("AcmeProjects"); 

   // The '=' performs a Query Interface.
   // Assumes pDTE is already available as a global.
   // Use pMyPkg to access your projects object's properties and methods.
}

此时,使用者使用特定下移层次结构模型的 VSPackage 的标准项的对象。 如果扩展前面示例中的 Visual Basic 代码,可以看到使用者如何获取包含任何专用的方法和属性的自动化对象。

下面的代码示例演示项目模型的一 Visual Studio 宏:

Dim MyPrj As Project
Dim MyPrjItem As ProjectItem
Dim objMyObject as MyExtendedObject

MyPrj = MyProjects.Item(1) 'use the Projects collection to get a project
objMyObject = MyPrj.Object 'You call .Object to get to special Project
                           'implementation
objMyObject.MySpecialMethodOrProperty

下面的代码示例演示 选项 页的 Visual Studio 宏在 工具 菜单。 此代码列出所有的名称。 Visual Studio 环境 泛型 选项卡的属性。 工具 菜单:

dim objDTE
dim objEnv
set objDTE = CreateObject("VisualStudio.DTE")
set objEnv = objDTE.Properties("Environment", "General")
for each obj in ObjEnv
MsgBox obj.Name
Next

请参见

参考

GetObject