Compartilhar via


Shell do Visual Studio

O shell do Visual Studio é o principal agente de integração no Visual Studio. O shell fornece a funcionalidade necessária para que os VSPackages compartilhem serviços comuns. Como o objetivo arquitetônico do Visual Studio é atribuir a funcionalidade primária aos VSPackages, o shell é uma estrutura para fornecer funcionalidade básica e suportar a comunicação cruzada entre seus componentes VSPackages.

Responsabilidades do Shell

O shell tem as seguintes principais responsabilidades:

  • Dando suporte (por meio de interfaces COM) aos elementos básicos da interface do usuário. Elas incluem menus e barras de ferramentas padrão, quadros de janelas de documentos ou janelas MDI filho (interface de múltiplos documentos), quadros de janelas de ferramentas e suporte para encaixe.

  • Manter uma lista em execução de todos os documentos abertos no momento em uma RDT (tabela de documentos em execução) para coordenar a persistência de documentos e garantir que um documento não possa ser aberto de mais de uma maneira ou de maneiras incompatíveis.

  • Suporte à interface de roteamento de comandos e manipulação de comandos. IOleCommandTarget

  • Carregando VSPackages em momentos oportunos. O carregamento tardio de um VSPackage é necessário para melhorar o desempenho da interface do shell.

  • Gerenciamento de determinados serviços compartilhados, como SVsShell, que fornece funcionalidade básica de shell e SVsUIShell, que fornece funcionalidade básica de janela.

  • Gerenciando os arquivos da solução (.sln). As soluções contêm grupos de projetos relacionados, semelhantes aos arquivos de workspace (.dsw) no Visual C++ 6.0.

  • Acompanhamento de seleção, contexto e moeda em todo o shell. O shell rastreia os seguintes tipos de itens:

    • O projeto atual

    • O item de projeto atual ou ItemID o atual IVsHierarchy

    • A seleção atual da janela Propriedades ou SelectionContainer

    • As IDs de contexto da interface do usuário ou CmdUIGuids que controlam a visibilidade de comandos, menus e barras de ferramentas

    • Os elementos atualmente ativos, como a janela ativa, o documento e o gerenciador de desfazer

    • Os atributos de Contexto do Usuário que conduzem a Ajuda Dinâmica

    O shell também media a comunicação entre os VSPackages instalados e os serviços correntes. Ele dá suporte aos principais recursos do shell e os disponibiliza para todos os VSPackages integrados no Visual Studio. Esses recursos principais incluem os seguintes itens:

  • Sobre a caixa de diálogo e a tela inicial

  • Caixas de diálogo Adicionar Novo e Adicionar Item Existente

  • Janela Exibição de Classe e Pesquisador de Objetos

  • Caixa de diálogo Referências

  • Janela Estrutura de Tópicos do Documento

  • Janela de Ajuda Dinâmica

  • Localizar e substituir

  • Abrir Projeto e Abrir Arquivo caixas de diálogo no menu Novo

  • Caixa de diálogo Opções no menu Ferramentas

  • Janela de Propriedades

  • Gerenciador de Soluções

  • Janela Lista de Tarefas

  • Toolbox