Freigeben über


Verwenden des Automatisierungs-Modells

Nachdem Sie ein VSPackage an die Automatisierung hergestellt haben, können Sie erhalten die Eigenschaften und Methoden, indem Sie die GetObject_DTE-Methode für das Objekt aufrufen und eine Zeichenfolge übergeben, die das Objekt darstellt, das abgerufen werden soll.

Abrufen von Projektobjekte

Die folgenden zwei Codebeispiele, die zeigen, wie ein Automatisierungsmodell für die ursprünglichen Projekt automatisierungsobjekte abgerufen wird. Im ersten Beispiel wird ein Visual Studio Makro. C++-Code verwendet das zweite.

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.
}

An diesem Punkt kann der Consumer die standardmäßige projektobjekte verwenden, die Teil eines bestimmten VSPackage sind, um den Hierarchien modells runterzuschieben. Wenn Sie den Visual Basic Code im vorherigen Beispiel erweitern, können Sie sehen, wie der Consumer möglicherweise das Automatisierungsobjekt addieren, das eines der speziellen Methoden und Eigenschaften enthält.

Im folgenden Codebeispiel wird ein Visual Studio Makro für ein Projektmodell an:

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

Im folgenden Codebeispiel wird ein Visual Studio-Makro für Optionen Seiten im Extras Menü angezeigt. Dieses Codeauflistung die Namen aller Eigenschaften in der Visual Studio Umgebung Allgemein Option auf dem Extras Menü:

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

Siehe auch

Referenz

GetObject