Udostępnij za pośrednictwem


Korzystanie z modelu automatyzacji

Po połączeniu pakietu VSPackage z automatyzacją można uzyskać właściwości i metody, wywołując GetObject metodę w _DTE obiekcie, przekazując ciąg reprezentujący obiekt, który chcesz pobrać.

Uzyskiwanie obiektów projektu

Poniżej przedstawiono dwa przykłady kodu pokazujące, jak użytkownik automatyzacji uzyskuje obiekty automatyzacji projektu. Aby uzyskać informacje o sposobie pobierania obiektu DTE, zobacz Instrukcje: pobieranie odwołań do obiektów DTE i DTE2.

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

W tym momencie można użyć standardowych obiektów projektu, które są częścią określonego pakietu VSPackage, aby przejść w dół modelu hierarchii.

W poniższym przykładzie kodu pokazano, jak uzyskać obiekt niestandardowy, który jest właściwością niestandardowego typu projektu.

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

Poniższy kod zawiera listę nazw wszystkich właściwości w opcji Ogólne środowiska programu Visual Studio w menu Narzędzia:

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