Použití modelu automatizace
Po připojení VSPackage k automatizaci můžete získat vlastnosti a metody voláním GetObject metody na _DTE objektu a předáním řetězce představujícího objekt, který chcete načíst.
Získání objektů projektu
Následuje dva příklady kódu, které ukazují, jak příjemce automatizace získá objekty automatizace projektu. Informace o tom, jak získat objekt DTE, naleznete v tématu Postupy: Získání odkazů na objekty DTE a 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.
}
V tomto okamžiku můžete použít standardní objekty projektu, které jsou součástí konkrétního balíčku VSPackage, a přesunout tak model hierarchie dolů.
Následující příklad kódu ukazuje, jak získat vlastní objekt, který je vlastností vlastního 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
Následující kód uvádí názvy všech vlastností v možnosti Obecné prostředí sady Visual Studio v nabídce Nástroje:
dim objDTE
dim objEnv
set objDTE = CreateObject("VisualStudio.DTE")
set objEnv = objDTE.Properties("Environment", "General")
for each obj in ObjEnv
MsgBox obj.Name
Next