Partilhar via


Design de comando

Quando você adiciona um comando a um VSPackage, você deve especificar onde ele deve aparecer, quando estiver disponível e como ele será manipulada.

Definindo comandos

Para definir novos comandos, inclua um arquivo de tabela de comando Visual Studio (.vsct) em seu projeto VSPackage. Se você tiver criado um VSPackage usando o modelo de pacote de Visual Studio, o projeto inclui um desses arquivos. Para obter mais informações, consulte Tabela Visual Studio de comando (.Arquivos de VSCT).

Visual Studio mescla todos os arquivos de .vsct encontrados para que ele possa exibir os comandos. Como esses arquivos são diferentes do VSPackage binário, não tem Visual Studio carregar o pacote para localizar os comandos. Para obter mais informações, consulte Como a VSPackages adicionar elementos de Interface do usuário ao IDE.

Visual Studio usa o ProvideMenuResourceAttribute atributo de registro para definir os comandos e recursos do menu. Para obter mais informações, consulte Implementação de comandos.

Comandos podem ser alterados em tempo de execução de inúmeras maneiras diferentes. Eles podem ser exibidos ou ocultos, ativados ou desativados. Eles podem exibir um texto diferente ou ícones ou conter valores diferentes. Uma grande quantidade de personalização pode ser executada antes do carregamento de Visual Studio sua VSPackage. Para obter mais informações, consulte Como a VSPackages adicionar elementos de Interface do usuário ao IDE.

Manipuladores de comandos

Quando você cria um comando, você deve fornecer um manipulador de eventos para executar o comando. Se o usuário seleciona o comando, ele deve ser direcionado apropriadamente. Roteamento de um comando significa enviá-lo para o VSPackage correto para habilitar ou desabilitá-lo, ocultar ou exibi-lo e executá-lo, se o usuário optar por fazê-lo. Para obter mais informações, consulte Algoritmo de roteamento de comando.

O ambiente de comando Visual Studio

Visual Studio pode hospedar qualquer número de VSPackages e cada um contribui seu próprio conjunto de comando. O ambiente exibe somente os comandos que são apropriados para a tarefa atual. Para obter mais informações, consulte Disponibilidade de comando e Objetos de contexto da seleção.

Um VSPackage que define novos comandos, menus, barras de ferramentas ou menus de atalho fornece suas informações de comando para o Visual Studio no momento da instalação por meio de entradas do registro que referenciam recursos em assemblies nativos ou gerenciados. Cada recurso, em seguida, faz referência a um arquivo de recurso (.cto) de dados binários, que é produzido quando você compila um arquivo de tabela de comando Visual Studio (.vsct). Isso permite que Visual Studio fornecer conjuntos de comandos mesclada, menus e barras de ferramentas sem precisar carregar cada VSPackage instalado.

Organização de comando

O ambiente posiciona os comandos de menu, prioridade e o grupo.

  • Os grupos são coleções de lógicas de comandos relacionados, por exemplo, o Recortar, Copy, e Colar grupo de comandos. Os grupos são os comandos que aparecem nos menus.

  • A prioridade determina a ordem na qual os comandos individuais em um grupo aparecem no menu.

  • Menus atuam como recipientes para grupos.

O ambiente predefine alguns comandos, grupos e menus. Para obter mais informações, consulte Comando padrão, o grupo e o posicionamento da barra de ferramentas.

Um comando pode ser atribuído a um grupo primário. O grupo primário controla a posição do comando na estrutura de menu principal e de Personalizar caixa de diálogo. Um comando pode aparecer em vários grupos; Por exemplo, um comando pode ser, no menu principal, em um menu de atalho e uma barra de ferramentas. Para obter mais informações, consulte Como a VSPackages adicionar elementos de Interface do usuário ao IDE.

Roteamento de comandos

O processo de invocação e ao roteamento de comandos para VSPackages difere do processo de chamar métodos em instâncias de objeto.

O ambiente de rotas comandos seqüencialmente de contexto mais interno de comando (local), que é baseado na seleção atual, o contexto (global) mais externo. O contexto primeiro que é capaz de executar o comando é aquele que lida com ele. Para obter mais informações, consulte Algoritmo de roteamento de comando.

Na maioria dos casos, o ambiente controla os comandos usando o IOleCommandTarget interface. Como o esquema de roteamento de comando permite que muitos objetos diferentes lidar com os comandos, IOleCommandTarget pode ser implementada por qualquer número de objetos; Eles incluem controles Microsoft ActiveX, implementações do modo de exibição de janela, objetos de documento, hierarquias de projeto e próprios objetos de VSPackage (para comandos globais). Em alguns casos especializados, por exemplo, roteamento comandos em uma hierarquia, o IVsHierarchy interface deve ser implementada.

Tópicos relacionados

Título

Descrição

Implementação de comandos

Descreve como implementar comandos em um VSPackage.

Disponibilidade de comando

Descreve como o contexto de Visual Studio determina quais comandos estão disponíveis.

Algoritmo de roteamento de comando

Descreve como a arquitetura de roteamento do comando Visual Studio permite que comandos sejam tratadas por diferentes VSPackages.

Diretrizes de colocação de comando

Sugere como posicionar os comandos no ambiente Visual Studio.

Como a VSPackages adicionar elementos de Interface do usuário ao IDE

Descreve como os VSPackages pode utilizar melhor a arquitetura do comando Visual Studio.

Comando padrão, o grupo e o posicionamento da barra de ferramentas

Descreve como os VSPackages melhor pode usar os comandos que estão incluídos no Visual Studio.

Carregando VSPackages

Descreve como o Visual Studio carrega VSPackages.

Tabela Visual Studio de comando (.Arquivos de VSCT)

Fornece informações sobre arquivos de .vsct baseado em XML, que são usados para descrever o layout e aparência dos comandos no VSPackages.