Partilhar 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 permitir que VSPackages compartilhem serviços comuns. Como o objetivo arquitetônico do Visual Studio é adquirir a funcionalidade primária nos VSPackages, o shell é uma estrutura para fornecer funcionalidade básica e oferecer suporte à comunicação cruzada entre seus VSPackages de componente.

Responsabilidades da Shell

O shell tem as seguintes responsabilidades principais:

  • Suporte (através de interfaces COM) a elementos básicos da interface do usuário (UI). Isso inclui menus e barras de ferramentas padrão, quadros de janela de documento ou janelas filho de interface de vários documentos (MDI) e quadros de janela de ferramenta e suporte a encaixe.

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

  • Carregando VSPackages em momentos apropriados. O carregamento atrasado 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 janela.

  • 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.

  • Rastreando 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 para a 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 ativos no momento, como a janela ativa, o documento e o gerenciador de desfazer

    • Os atributos de contexto do usuário que impulsionam a Ajuda dinâmica

    O shell também medeia a comunicação entre VSPackages instalados e serviços atuais. Ele oferece 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 Modo de 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 as caixas de diálogo Projeto e Abrir Arquivo no menu Novo

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

  • Janela Propriedades

  • Gerenciador de Soluções

  • Janela Lista de Tarefas

  • Caixa de Ferramentas