Partilhar via


Disponibilidade de comandos

O contexto do Visual Studio determina quais comandos estão disponíveis. O contexto pode mudar dependendo do projeto atual, do editor atual, dos VSPackages carregados e de outros aspetos do ambiente de desenvolvimento integrado (IDE).

Contextos de comando

Os seguintes contextos de comando são os mais comuns:

  • IDE: Os comandos fornecidos pelo IDE estão sempre disponíveis.

  • VSPackage: VSPackages podem definir quando os comandos devem ser exibidos ou ocultos.

  • Projeto: Os comandos do projeto aparecem apenas para o projeto selecionado no momento.

  • Editor: Apenas um editor pode estar ativo de cada vez. Os comandos do editor ativo estão disponíveis. Um editor trabalha em estreita colaboração com um serviço linguístico. O serviço linguístico deve processar os seus comandos no contexto do editor associado.

  • Tipo de arquivo: Um editor pode carregar mais de um tipo de arquivo. Os comandos disponíveis podem mudar dependendo do tipo de arquivo.

  • Janela ativa: a última janela de documento ativa define o contexto da interface do usuário (UI) para ligações de chave. No entanto, uma janela de ferramenta que tenha uma tabela de vinculação de teclas semelhante ao navegador da Web interno também pode definir o contexto da interface do usuário. Para janelas de documentos com várias abas, como o HTML editor, cada aba tem um GUID de contexto de comando diferente. Depois que uma janela de ferramenta é registrada, ela está sempre disponível no menu Exibir .

  • Contexto da interface do usuário: os contextos da interface do usuário são identificados pelos valores da VSConstants.UICONTEXT classe, por exemplo, SolutionBuilding_guid quando a solução está sendo criada ou Debugging_guid quando o depurador está ativo. Vários contextos de interface do usuário podem estar ativos ao mesmo tempo.

Definir GUIDs de contexto personalizados

Se um GUID de contexto de comando apropriado ainda não estiver definido, você pode definir um em seu VSPackage e, em seguida, programá-lo para estar ativo ou inativo, conforme necessário para controlar a visibilidade de seus comandos:

  1. Registe GUIDs de contexto chamando o método GetCmdUIContextCookie.

  2. Obtenha o estado de um GUID de contexto chamando o IsCmdUIContextActive método.

  3. Ative e desative GUIDs de contexto chamando o método SetCmdUIContext.

Atenção

Certifique-se de que seu VSPackage não afeta quaisquer GUIDs de contexto existentes porque outros VSPackages podem depender deles.