Compartilhar via


Usando o modelo de automação

Depois de conectar seu VSPackage à automação, você pode obter as propriedades e os métodos chamando o GetObject_DTE método no objeto, passando uma cadeia de caracteres que representa o objeto que deseja recuperar.

Obtendo objetos de projeto

A seguir estão dois exemplos de código que mostram como um consumidor de automação obtém os objetos de automação do projeto. Para obter informações sobre como obter o objeto DTE, consulte Como: Obter referências para os objetos DTE e 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.
}

Neste ponto, você pode usar os objetos de projeto padrão que fazem parte de um VSPackage específico para mover para baixo o modelo de hierarquia.

O exemplo de código a seguir mostra como obter um objeto personalizado que é uma propriedade de um tipo de projeto personalizado.:

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

O código a seguir lista os nomes de todas as propriedades no ambiente do Visual Studio opção Geral no menu Ferramentas :

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