Het Automation-model gebruiken

Nadat u uw VSPackage hebt verbonden met automatisering, kunt u de eigenschappen en methoden verkrijgen door de GetObject methode op het _DTE object aan te roepen, waarbij een tekenreeks wordt doorgegeven die het object vertegenwoordigt dat u wilt ophalen.

Projectobjecten verkrijgen

Hier volgen twee codevoorbeelden die laten zien hoe een automatiseringsgebruiker de projectautomatiseringsobjecten verkrijgt. Voor informatie over het opvragen van het DTE-object, zie Hoe u verwijzingen naar de DTE- en DTE2-objecten kunt verkrijgen.

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

Op dit moment kunt u de standaardprojectobjecten gebruiken die deel uitmaken van een specifieke VSPackage om het hiƫrarchiemodel omlaag te verplaatsen.

In het volgende codevoorbeeld ziet u hoe u een aangepast object kunt ophalen dat een eigenschap is van een aangepast projecttype.:

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

De volgende code bevat de namen van alle eigenschappen in de Visual Studio-omgeving optie Algemeen in het menu Extra:

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