Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ao adicionar um comando a um VSPackage, você deve especificar onde ele será exibido, quando ele estiver disponível e como ele deve ser tratado.
Definir comandos
Para definir novos comandos, inclua um arquivo de tabela de comandos do Visual Studio (.vsct) em seu projeto VSPackage. Se você criou um VSPackage usando o modelo de pacote do Visual Studio, o projeto inclui um desses arquivos. Para obter mais informações, consulte arquivos da tabela de comandos do Visual Studio (.vsct).
O Visual Studio mescla todos os arquivos .vsct encontrados para que ele possa exibir os comandos. Como esses arquivos são distintos do binário VSPackage, o Visual Studio não precisa carregar o pacote para localizar os comandos. Para obter mais informações, consulte Como os VSPackages adicionam elementos de interface do usuário.
O Visual Studio usa o ProvideMenuResourceAttribute atributo de registro para definir os comandos e recursos de menu. Para obter mais informações, consulte a implementação do comando.
Os comandos podem ser alterados em tempo de execução de várias maneiras diferentes. Eles podem ser exibidos ou ocultos, habilitados ou desabilitados. Eles podem exibir texto ou ícones diferentes ou conter valores diferentes. Uma grande quantidade de personalização pode ser executada antes que o Visual Studio carregue seu VSPackage. Para obter mais informações, consulte Como os VSPackages adicionam elementos de interface do usuário.
Manipuladores de comando
Ao criar um comando, você deve fornecer um manipulador de eventos para executar o comando. Se o usuário selecionar o comando, ele deverá ser roteado adequadamente. Rotear um comando significa enviá-lo para o VSPackage correto para habilitá-lo ou desabilitá-lo, ocultá-lo ou exibi-lo e executá-lo se o usuário optar por fazê-lo. Para obter mais informações, consulte o algoritmo de roteamento de comando.
Ambiente de comando do Visual Studio
O Visual Studio pode hospedar qualquer número de VSPackages e cada um pode contribuir com seu próprio conjunto de comandos. O ambiente exibe apenas os comandos apropriados para a tarefa atual. Para obter mais informações, consulte a disponibilidade de comando e objetos de contexto de 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 de registro que fazem referência a recursos em assemblies nativos ou gerenciados. Cada recurso faz referência a um arquivo de recurso de dados binário (.cto), que é produzido quando você compila um arquivo de tabela de comandos do Visual Studio (.vsct). Isso permite que o Visual Studio forneça conjuntos de comandos mesclados, menus e barras de ferramentas sem a necessidade de carregar todos os VSPackage instalados.
Organização de comandos
O ambiente posiciona comandos por grupo, prioridade e menu.
Os grupos são coleções lógicas de comandos relacionados, por exemplo, o grupo de comandos Recortar, Copiar e Colar . 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.
Os menus atuam como contêineres para grupos.
O ambiente predefini alguns comandos, grupos e menus. Para obter mais informações, consulte o posicionamento padrão de comando, grupo e 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 do menu principal e na caixa de diálogo Personalizar . Um comando pode aparecer em vários grupos; por exemplo, um comando pode estar no menu principal, em um menu de atalho e em uma barra de ferramentas. Para obter mais informações, consulte Como os VSPackages adicionam elementos de interface do usuário.
Roteamento de comando
O processo de invocar e rotear comandos para VSPackages difere do processo de chamar métodos em instâncias de objeto.
O ambiente roteia comandos sequencialmente do contexto de comando interno (local), que se baseia na seleção atual, para o contexto mais externo (global). O primeiro contexto que é capaz de executar o comando é aquele que o manipula. Para obter mais informações, consulte o algoritmo de roteamento de comando.
Na maioria das instâncias, o ambiente manipula comandos usando a IOleCommandTarget interface. Como o esquema de roteamento de comando permite que muitos objetos diferentes manipulem comandos, IOleCommandTarget podem ser implementados por qualquer número de objetos; eles incluem controles Do Microsoft ActiveX, implementações de exibição de janela, objetos de documento, hierarquias de projeto e objetos VSPackage em si (para comandos globais). Em alguns casos especializados, por exemplo, comandos de roteamento em uma hierarquia, a IVsHierarchy interface deve ser implementada.
Tópicos relacionados
| Title | Description |
|---|---|
| Implementação de comando | Descreve como implementar comandos em um VSPackage. |
| Disponibilidade de comando | Descreve como o contexto do Visual Studio determina quais comandos estão disponíveis. |
| Algoritmo de roteamento de comando | Descreve como a arquitetura de roteamento de comandos do Visual Studio permite que os comandos sejam tratados por VSPackages diferentes. |
| Diretrizes de posicionamento de comando | Sugere como posicionar comandos no ambiente do Visual Studio. |
| Como os VSPackages adicionam elementos de interface do usuário | Descreve como os VSPackages podem utilizar melhor a arquitetura de comando do Visual Studio. |
| Posicionamento padrão de comando, grupo e barra de ferramentas | Descreve como os VSPackages podem usar melhor os comandos incluídos no Visual Studio. |
| Gerenciar VSPackages | Descreve como o Visual Studio carrega VSPackages. |
| Arquivos da tabela de comandos do Visual Studio (.vsct) | Fornece informações sobre arquivos .vsct baseados em XML, que são usados para descrever o layout e a aparência dos comandos em VSPackages. |