Partilhar via


Visual Studio Shell

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

Responsabilidades da Shell

O shell tem as seguintes responsabilidades principais:

  • Apoiar (através de interfaces COM) os elementos básicos da interface de utilizador (UI). Isso inclui menus e barras de ferramentas padrão, molduras de janelas de documentos ou janelas filhas da interface de múltiplos documentos (MDI), molduras de janelas de ferramentas e suporte para encaixe.

  • Manter uma lista contínua de todos os documentos atualmente abertos em uma tabela de documentos em execução (RDT), a fim de 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 e gestão de comandos, IOleCommandTarget.

  • Carregando VSPackages em momentos apropriados. Atrasar o carregamento de um VSPackage é necessário para melhorar o desempenho do shell.

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

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

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

    • O projeto atual

    • O item de projeto atual ou o ItemID atual IVsHierarchy

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

    • Os 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 de usuário que impulsionam a Ajuda dinâmica

    O shell também medeia a comunicação entre VSPackages instalados e serviços correntes. Ele suporta os principais recursos do shell e os torna disponíveis para todos os VSPackages integrados no Visual Studio. Esses recursos principais incluem os seguintes itens:

  • Caixa de diálogo Sobre e ecrã inicial

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

  • Janela Vista de Classe e Navegador de Objetos

  • Caixa de diálogo Referências

  • Janela de Estrutura do Documento

  • Janela Ajuda Dinâmica

  • Localizar e substituir

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

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

  • Janela Propriedades

  • Explorador de Soluções

  • Janela Lista de Tarefas

  • Caixa de ferramentas