Partilhar via


Modelo de ambiente de desenvolvimento de Visual Studio

O Visual Studio o ambiente de desenvolvimento integrado (IDE) é uma estrutura para hospedagem VSPackages e facilitando a troca de serviços compartilhados. Um exemplo disso é a maneira que o IDE implementa a interface de usuário (UI). O IDE fornece a janela de contêiner e as barras de ferramentas padrão e os menus. Ele também fornece uma infra-estrutura COM rica que torna a interface do usuário programável. O esquema de roteamento e manipulação de comando completo fornece aos usuários uma estrutura aberta que oferece acesso fácil a ambos os existentes e instaladas de conjuntos de comandos.

Arquitetura de extensibilidade

A ilustração a seguir mostra a Visual Studio arquitetura de extensibilidade. Observe que o conceito de um aplicativo de software está ausente. Em vez disso, os componentes de software de hosts do IDE, chamado VSPackages, que fornecem a funcionalidade do aplicativo. Essa funcionalidade, por sua vez, é compartilhada entre o IDE como serviços. Os VSPackages oferecem serviços que usam a eles e outros VSPackages. O padrão IDE também oferece uma ampla gama de serviços, tais como SVsUIShell, que fornecem acesso à funcionalidade de janelas do IDE.

Visão generalizada da arquitetura Visual Studio

Gráfico de arquitetura de ambiente

Observe que a relação entre os VSPackages e serviços é bidirecional. Embora VSPackages utilizar serviços oferecidos por outras pessoas, elas também podem oferecer serviços de seus próprios por usar o IProfferService interface. Essa arquitetura baseada em serviços foi desenvolvido a partir da implementação do Microsoft ActiveX Designer, no qual um serviço é um grupo de interfaces relacionadas que executam uma tarefa. A partir de um ponto de vista COM estrito, todas as interfaces de um serviço devem ser implementadas em uma única classe COM.

O padrão IDE oferece serviços importantes, como SVsShell, SVsUIShell, e SVsSolution, que são usados por VSPackages. A tabela a seguir lista e descreve alguns desses serviços. Para obter mais informações, consulte Serviços.

Serviço IDE

Descrição

SVsShell

Fornece acesso ao IDE serviços lidar com funcionalidade básica, VSPackages e registro.

SVsUIShell

Fornece windowing básica e funcionalidade relacionados à interface do usuário no IDE, como a capacidade para criar ferramentas e janelas de documento.

SVsSolution

Fornece a funcionalidade básica de solução relacionados, como, por exemplo, a capacidade de enumerar os projetos, criar novos projetos e monitorar as alterações do projeto.

Por causa de sua total integração por meio da interação de serviços compartilhados, o Visual Studio IDE e VSPackages são intimamente interdependentes. No entanto, apesar de sua interação fechar terão responsabilidades diferentes.

O Visual Studio IDE é responsável para as seguintes tarefas:

  • Fornecendo serviços essenciais para uso por VSPackages externos.

  • Fornecendo uma interface programável que permite a participação com elementos de interface do usuário padrão.

  • Criação de instâncias de VSPackages conforme exigido por ações do usuário ou por outros serviços do solicitantes VSPackages.

  • Fornecendo serviços que tornam possível para a comunicação e coordenação entre os VSPackages.

  • Gerenciando soluções e os arquivos necessários.

  • Fornecendo gerenciamento de janelas.

  • Fornecimento de roteamento de comandos e barras de comandos, como, por exemplo, menus, barras de ferramentas e menus de contexto.

  • Coordenação de seleção, contexto e moeda.

Os VSPackages são responsáveis pelas seguintes tarefas:

  • Execução de determinadas rotinas de inicialização e encerramento.

  • Gravar as informações no registro, o que o IDE usa para carregar os VSPackages apropriados horários adequados.

  • Oferecendo os serviços que são necessários para se comunicar com outros VSPackages.

  • Fornecendo implementações de novos tipos de projeto, editores e designers.

  • Fornecendo extensões para elementos internos da interface do usuário, como, por exemplo, itens de tarefas, itens de caixa de ferramentas e a caixa de diálogo Opções.

Consulte também

Tarefas

Como: consumir um serviço

Conceitos

Shell de Visual Studio

Outros recursos

VSPackages

Serviços