Modelo de automação
O modelo de automação fornece uma alternativa a VSPackages para estender Visual Studio. Conhecido nas versões anteriores do Visual Studio como o modelo de extensibilidade, o modelo de automação é uma interface de programação que permite o acesso para as rotinas subjacentes que orientam o ambiente de desenvolvimento integrado (IDE) e permite que você personaliza, ajustar e automatizá-la.
Os VSPackages e automação
O Visual Studio documentação SDK enfoca os VSPackages, que oferecem mais desenvolvimento potencial que o modelo de automação. Por exemplo, você pode escrever código contra os objetos no modelo de automação para personalizar um idioma, como Visual Basic. No entanto, você não pode adicionar um novo idioma ao IDE usando o modelo de automação. Para adicionar uma nova linguagem para o ambiente, você deve desenvolver um VSPackage.
Juntos, o modelo de automação e o modelo VSPackage compõem uma dupla abordagem à extensibilidade em Visual Studio. Extensibilidade é a capacidade para aperfeiçoar e estender a funcionalidade do IDE. Automação refere-se ao código criados pelo usuário e ferramentas que automatizam tarefas no ambiente existente e programaticamente unidade IDE. Os VSPackages, por outro lado, permitem adicionar nova funcionalidade ao IDE. Um VSPackage é um objeto co-creatable. ou seja, ele tem uma fábrica de classes e se torna disponível para o IDE pela implementação da interface IVsPackage.
Suplementos, assistentes e macros, usam o modelo de automação para controlar ou estender a funcionalidade do IDE usando suas interfaces de automação. Normalmente, a Microsoft inclui muitos suplementos com Visual Studio. Você pode usar o add-ins para integrar novos comandos nas barras de ferramentas e menus, para adicionar as janelas de ferramentas ou para automatizar certas tarefas executadas regularmente em Visual Studio.
Como desenvolvedor VSPackage, você deve contribuir para o modelo de automação. Por exemplo, se você adicionar uma nova linguagem para Visual Studio usando o Visual Studio SDK, o seu idioma deve fornecer um modelo de código robusto que estende aquele pré-existentes. Para mais informações, consulte Contribuindo para o modelo de automação.