Compartilhar via


Classe CommandSet

Representa um subconjunto dos comandos que estão disponíveis nos menus de um idioma específico do domínio.Substitua os métodos em YourLanguageCommandSet para modificar a forma como esses comandos são processados.

Esta API não compatível com CLS. 

Hierarquia de herança

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
      Microsoft.VisualStudio.Modeling.Shell.CommandSet

Namespace:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Sintaxe

'Declaração
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

O tipo CommandSet expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido CommandSet Inicializa uma nova instância da classe CommandSet.

Superior

Propriedades

  Nome Descrição
Propriedade protegida CurrentDocData (Herdado de CommandSetLibrary.)
Propriedade protegida CurrentDocumentSelection (Herdado de CommandSetLibrary.)
Propriedade protegida CurrentDocView Obtém o modo de exibição da janela do documento ativo.
Propriedade protegida CurrentModelingDocView (Herdado de CommandSetLibrary.)
Propriedade protegida CurrentSelection (Herdado de CommandSetLibrary.)
Propriedade protegida MenuService (Herdado de CommandSetLibrary.)
Propriedade protegida MonitorSelection (Herdado de CommandSetLibrary.)
Propriedade protegida ServiceProvider (Herdado de CommandSetLibrary.)
Propriedade protegida SingleDocumentSelection (Herdado de CommandSetLibrary.)
Propriedade protegida SingleSelection (Herdado de CommandSetLibrary.)

Superior

Métodos

  Nome Descrição
Método protegido CanDeleteSelectedItems Retorna true se os itens selecionados podem ser excluídos. (Herdado de CommandSetLibrary.)
Método público CreateObjRef Segurança crítica. Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject.)
Método protegido DeleteSelectedItems Exclua os itens selecionados. (Herdado de CommandSetLibrary.)
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetLifetimeService Segurança crítica. Recupera o objeto de serviço Vida útil atual que controla a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.)
Método protegido GetMenuCommands Exibe os comandos no menu de atalho. (Substitui CommandSetLibrary.GetMenuCommands().)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método público Initialize Inicialize o conjunto de comandos.Chama o GetMenuCommands e armazena o resultado. (Herdado de CommandSetLibrary.)
Método público InitializeLifetimeService Segurança crítica. Obtém um objeto de serviço de tempo de vida para controlar a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.)
Método protegido IsAnyDocumentSelectionCompartment True se qualquer dos itens na seleção lista é um compartimento. (Herdado de CommandSetLibrary.)
Método protegido IsAnyDocumentSelectionMoveableHostShape True se qualquer um dos itens na lista de seleção é uma forma de host moveable, que não pode ser excluída. (Herdado de CommandSetLibrary.)
Método protegido IsAnyDocumentSelectionUndeletable True se qualquer da forma itens na lista de seleção não podem ser excluídos. (Herdado de CommandSetLibrary.)
Método protegido IsCurrentDiagramEmpty True se o diagrama não tem filhos. (Herdado de CommandSetLibrary.)
Método protegido IsDiagramSelected True se o diagrama for selecionado. (Herdado de CommandSetLibrary.)
Método protegido IsExpandableShape Verifica se um usuário pode expandir a forma para revelar as propriedades do domínio.
Método protegido IsSingleDocumentSelection True se houver apenas um item selecionado no documento ativo. (Herdado de CommandSetLibrary.)
Método protegido IsSingleSelection True se houver apenas um item selecionado na janela do documento ativo ou janela de ferramenta. (Herdado de CommandSetLibrary.)
Método protegido MemberwiseClone() Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método protegido MemberwiseClone(Boolean) Cria uma cópia superficial do atual MarshalByRefObject objeto. (Herdado de MarshalByRefObject.)
Método protegido ProcessOnMenuDeleteCommand Chamado quando o usuário clica no comando Delete ou pressionar a tecla Delete.Exclui um item.Substitua esse método para alterar esse comportamento.
Método protegido ProcessOnMenuEditCompartmentItemCommand Chamado quando o usuário clica no comando de menu de edição em um item em uma forma de compartimento.Entra no estado de edição de texto.Substitua esse método para alterar esse comportamento.
Método protegido ProcessOnMenuExpandCollapseCommand Chamado quando o usuário expande ou recolhe uma lista de propriedades que é atribuída a uma forma.
Método protegido ProcessOnMenuPageSetupCommand Abre a caixa de diálogo Configurar página.Substitua esse método para alterar esse comportamento.
Método protegido ProcessOnMenuPrintCommand Abre a caixa de diálogo Imprimir.Substitua esse método para alterar esse comportamento.
Método protegido ProcessOnMenuPrintPreviewCommand Abre a janela de visualização de impressão.Substitua esse método para alterar esse comportamento.
Método protegido ProcessOnMenuRerouteLineCommand Restaura a posição padrão de um conector entre duas formas.Substitua esse método para alterar esse comportamento.
Método protegido ProcessOnMenuResetDecoratorLocationCommand Substitua esse método para processar o comando de menu local de decorador redefinir.
Método protegido ProcessOnMenuResetDecoratorSizeCommand Substitua esse método para processar o comando de menu de redefinir o tamanho de decorador.
Método protegido ProcessOnMenuSelectAllCommand Chamado quando o usuário clica no comando Selecionar tudo no menu Editar ou pressiona ctrl-a.Seleciona todas as formas em um diagrama.Substitua o método para alterar esse comportamento.
Método protegido ProcessOnStatusDeleteCommand Determina se o comando Delete aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama.
Método protegido ProcessOnStatusEditCompartmentItemCommand Determina se o comando Editar aparece no menu de contexto.
Método protegido ProcessOnStatusExpandCollapseCommand Determina se o comando Expandir ou recolher aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama.
Método protegido ProcessOnStatusPageSetupCommand Determina se o comando Configurar página aparece no menu arquivo.Chamado quando o usuário clica no menu Arquivo, enquanto o diagrama está ativo.
Método protegido ProcessOnStatusPrintCommand Determina se o comando Imprimir aparece no menu arquivo.Chamado quando o usuário clica no menu Arquivo, enquanto o diagrama está ativo.
Método protegido ProcessOnStatusPrintPreviewCommand Determina se o comando Visualizar impressão aparece no menu.Chamado quando o usuário clica no menu Arquivo, enquanto o diagrama está ativo.
Método protegido ProcessOnStatusRerouteLineCommand Determina se o comando redireccionar aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama.
Método protegido ProcessOnStatusResetDecoratorLocationCommand Determina se o comando de localização de decorador restante aparece no menu de contexto.Chamado quando o usuário clica com o botão direito sobre o diagrama.
Método protegido ProcessOnStatusResetDecoratorSizeCommand Determina se o comando Redefinir o tamanho de decorador aparece no menu.Chamado quando o usuário clica com o botão direito sobre o diagrama.
Método protegido ProcessOnStatusSelectAllCommand Determina se o comando Selecionar tudo aparece no menu.Chamado quando o usuário clica no menu Editar, enquanto o diagrama está ativo.
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Comentários

Você pode modificar a forma como o seu DSL responde a alguns comandos de menu.Os comandos que você pode modificar incluem os comandos no menu de atalho e alguns comandos nos menus arquivo e editar.

Em seu projeto de DslPackage, você encontrará um arquivo gerado chamado CommandSet.cs, que contém uma declaração parcial de uma classe chamada <YourLanguageName> CommandSet.Para modificar o comportamento dos comandos de menu padrão, adicione outro arquivo com uma definição parcial da mesma classe.

Nesta classe, você pode substituir os métodos definidos na classe base.

ObservaçãoObservação

Verifique se o namespace no seu novo arquivo é o mesmo que o namespace no CommandSet.cs gerado.Em seu novo arquivo, quando você digita "substituir" dentro da declaração de classe, você deverá ver uma lista dos métodos que podem ser substituídos.

Cada comando tem um ProcessOnStatus...método e um ProcessOnMenu...Método.O ProcessOnStatus...método determina se o comando aparece no menu de atalho.Definir a propriedade Visible do parâmetro de comando para determinar se o comando está visível e defina a propriedade Enabled para determinar se o item de menu é ativado ou cinza.

O ProcessOnMenu...método executa o comando quando o usuário clica no item de menu.

ObservaçãoObservação

Você pode definir os comandos adicionais no arquivo Commands.vsct.

Para obter mais informações, consulte Como: adicionar um comando ao Menu de atalho.

Exemplos

Este arquivo é adicionado ao projeto DslPackage.Ela impede que os usuários de DSL excluir mais de um elemento por vez.

// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
  internal partial class Language1CommandSet // Same class as the generated class.
  {
    /// <summary>
    /// Called when user right-clicks on the diagram or clicks the Edit menu.
    /// </summary>
    /// <param name="command"></param>
    protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
    {
      if (this.CurrentSelection.Count > 1)
      {
        // If user has selected more than one item, Delete is greyed out.
        command.Enabled = false;
      }
      else
      {
        // Otherwise, default behavior.
        base.ProcessOnStatusDeleteCommand(command);
      }
    }
    /// <summary>
    /// Called when user presses Delete key or clicks the Delete command on a menu.
    /// </summary>
    protected override void ProcessOnMenuDeleteCommand()
    {
      // Allow users to delete only one thing at a time.
      if (this.CurrentSelection.Count <= 1)
      {
        base.ProcessOnMenuDeleteCommand();
      }
    }
  }
}

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.Shell

Outros recursos

Como: adicionar um comando ao Menu de atalho