Comandos, menus e barras de ferramentas

Menus e barras de ferramentas são a maneira como os usuários acessam comandos em seu VSPackage. Os comandos são funções que realizam tarefas, como imprimir um documento, atualizar um modo de exibição ou criar um novo arquivo. Menus e barras de ferramentas são maneiras gráficas convenientes de apresentar seus comandos aos usuários. Normalmente, os comandos relacionados são agrupados no mesmo menu ou barra de ferramentas.

  • Os menus normalmente são exibidos como cadeias de caracteres de uma palavra agrupadas em uma linha na parte superior do ambiente de desenvolvimento integrado (IDE) ou em uma janela de ferramenta. Os menus também podem ser exibidos como resultado de um evento de clique com o botão direito do mouse e são chamados de menus de atalho nesse contexto. Quando clicados, os menus se expandem para exibir um ou mais comandos. Os comandos, quando clicados, podem executar tarefas ou iniciar submenus que contêm comandos adicionais. Alguns nomes de menu conhecidos são Arquivo, Editar, Exibir e Janela. Para obter mais informações, consulte Estender menus e comandos.

  • As barras de ferramentas normalmente são linhas de botões e outros controles, como caixas de combinação, caixas de listagem, caixas de texto e controladores de menu. Todos os controles da barra de ferramentas estão associados a comandos. Quando você clica em um botão da barra de ferramentas, seu comando associado é ativado. Os botões da barra de ferramentas geralmente têm ícones que sugerem os comandos subjacentes, como uma impressora para um comando Imprimir. Em um controle de lista suspensa, cada item na lista é associado a um comando diferente. Um controlador de menu é um híbrido no qual um lado do controle é um botão da barra de ferramentas e o outro lado é uma seta para baixo que exibe comandos adicionais quando clicado. Para obter mais informações, consulte Adicionar um controlador de menu a uma barra de ferramentas.

  • Ao criar um comando, você também deve criar um manipulador de eventos para ele. O manipulador de eventos determina quando o comando está visível ou habilitado, permite que você modifique seu texto e garante que o comando responda adequadamente ("rotas") quando ativado. Na maioria dos casos, o IDE manipula comandos usando a IOleCommandTarget interface. Os comandos no Visual Studio roteiam de maneira hierárquica, começando com o contexto de comando mais interno, com base na seleção local, e prosseguindo para o contexto mais externo, com base na seleção global. Os comandos adicionados ao menu principal estão imediatamente disponíveis para scripts. Para obter mais informações, consulte MenuCommands vs. OleMenuCommands e objetos de contexto Selection.

    Para definir novos menus e barras de ferramentas, você deve descrevê-los em um arquivo de tabela de comandos (.vsct) do Visual Studio. O modelo de pacote do Visual Studio cria esse arquivo para você, juntamente com os elementos necessários para oferecer suporte a quaisquer comandos, barras de ferramentas e editores selecionados no modelo. Como alternativa, você pode escrever seu próprio arquivo .vsct , usando o esquema XML descrito aqui: VSCT XML schema reference.

    Para obter mais informações sobre como trabalhar com arquivos .vsct, consulte Arquivos de tabela de comandos (.vsct) do Visual Studio.

    Os tópicos desta seção explicam como comandos, menus e barras de ferramentas funcionam em VSPackages.

Nesta seção

Uma descrição detalhada da especificação de formato de tabela de comando.

Descreve uma sintaxe baseada em XML e um compilador para tabelas de comando.

Descreve comandos, grupos, menus e barras de ferramentas predefinidos.

Especifica os menus, comandos e grupos de comandos predefinidos disponíveis para uso pelo IDE do Visual Studio.

Explica como criar comandos.

Fornece diretrizes para comandos.

Explica como disponibilizar comandos para o Visual Studio.

Explica como implementar comandos que usam assemblies de interoperabilidade.

Explica o roteamento de comandos em VSPackages.