Share via


Visão geral do modelo de automação

O modelo de automação consiste em um conjunto de objetos nos quais você pode escrever um suplemento ou extensão do Visual Studio. Um suplemento é um aplicativo que pode manipular o ambiente do Visual Studio e automatizar tarefas comuns. Uma extensão do Visual Studio pode criar componentes personalizados do Visual Studio ou adicionar à funcionalidade de componentes padrão, como o editor de texto.

Objetos no modelo de automação

O modelo de automação consiste em grupos relacionados de objetos que controlam as principais facetas do ambiente comum. O diagrama a seguir mostra o extenso conjunto de objetos do Visual Studio que compõem o modelo de automação.

Visual Studio automation object chart

Para obter mais informações, consulte Estender o ambiente do Visual Studio.

O ambiente fornece um modelo para diferentes áreas funcionais. Por exemplo, há um modelo de código para vários elementos que você pode encontrar no código. Há um modelo de documento para vários elementos de documento. Uma área, a área do projeto, é de particular interesse para os provedores VSPackage. Você provavelmente desejará que seus novos tipos de projeto contribuam para o modelo de automação da mesma maneira que o Visual C++ e o Visual Basic contribuem para o modelo de automação. Esse processo é descrito em Fornecer automação para VSPackages.

Locais onde você pode considerar a extensão do modelo de automação do ambiente:

  • Projeto

  • Documento

  • Código

  • Compilação

Para obter mais informações sobre automação, consulte Automação e extensibilidade para Visual Studio. Este documento e os documentos para os quais ele fornece links ajudam você a tomar decisões sobre como você deve fornecer automação para seu VSPackage.

Contribuir para o modelo de automação

Visual Studio fornece um conjunto de interfaces de automação para personalizar o ambiente. O modelo de automação é o modelo de objeto que permite que os usuários finais criem suplementos e extensões do Visual Studio.

Além disso, é apropriado que você, como desenvolvedor VSPackage, contribua com o modelo de automação; fazendo isso, você permite que os usuários finais do seu VSPackage para criar suplementos e geralmente fornecer uma experiência de modelo de usuário consistente quando eles usam seu VSPackage no Visual Studio.

Para tornar a experiência do usuário final consistente, você pode seguir um conjunto de diretrizes ao projetar seu VSPackage para que o modelo de automação para seu VSPackage siga as ideias no Visual Studio.

Nesta seção

Discute as duas principais maneiras de fornecer automação para seu VSPackage.

Fornece instruções passo a passo para criar objetos específicos do VSPackage.

Explica os objetos de projeto padrão que são necessários para criar automação para seu novo tipo de projeto e ilustra o caminho que a automação de projeto segue. Este tópico também fornece listagens de declarações e implementação para classes.

Fornece instruções passo a passo para criar eventos para seu modelo de automação.

Descreve como retornar um objeto de automação para oferecer suporte às propriedades da caixa de diálogo Opções personalizadas de um VSPackage no menu Ferramenta estendendo o DTE.Properties objeto.

Explica que a criação de um modelo de automação para seu código não é necessária. No entanto, um link é fornecido neste tópico que fornece informações perspicazes sobre modelos de código.

Explica que fornecer automação é uma boa ideia sempre que você quiser disponibilizar objetos de automação em uma janela, e o ambiente ainda não fornece um objeto de automação pronto. Discute a automação para janelas de ferramentas e janelas de documentos.

Fornece dois exemplos de código que mostram como um consumidor de automação obtém os objetos de automação de projeto inicial.

Fornece informações sobre automação para objetos Configuration e SelectedItems.

Referência

  • GetAutomationObject Fornece um exemplo de código que mostra como um VSPackage participa do modelo de objeto de automação DTE. Lista parâmetros, valores de retorno e observações selecionadas.