Compartir a través de


CommandSet (Clase)

Representa un subconjunto de los comandos disponibles en los menús de un lenguaje específico del dominio. Reemplace los métodos en YourLanguageCommandSet para modificar cómo se procesan estos comandos.

Esta API no es conforme a CLS. 

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.Modeling.Shell
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Sintaxis

'Declaración
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

El tipo CommandSet expone los siguientes miembros.

Constructores

  Nombre Descripción
Método protegido CommandSet Inicializa una nueva instancia de la clase CommandSet.

Arriba

Propiedades

  Nombre Descripción
Propiedad protegida CurrentDocData (Se hereda de CommandSetLibrary).
Propiedad protegida CurrentDocumentSelection (Se hereda de CommandSetLibrary).
Propiedad protegida CurrentDocView Obtiene la vista de la ventana de documento activa.
Propiedad protegida CurrentModelingDocView (Se hereda de CommandSetLibrary).
Propiedad protegida CurrentSelection (Se hereda de CommandSetLibrary).
Propiedad protegida MenuService (Se hereda de CommandSetLibrary).
Propiedad protegida MonitorSelection (Se hereda de CommandSetLibrary).
Propiedad protegida ServiceProvider (Se hereda de CommandSetLibrary).
Propiedad protegida SingleDocumentSelection (Se hereda de CommandSetLibrary).
Propiedad protegida SingleSelection (Se hereda de CommandSetLibrary).

Arriba

Métodos

  Nombre Descripción
Método protegido CanDeleteSelectedItems Devuelve true si los elementos seleccionados se pueden eliminar. (Se hereda de CommandSetLibrary).
Método público CreateObjRef Crítico para la seguridad. Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto. (Se hereda de MarshalByRefObject).
Método protegido DeleteSelectedItems Elimine los elementos seleccionados. (Se hereda de CommandSetLibrary).
Método público Equals Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público GetHashCode Sirve como la función hash predeterminada. (Se hereda de Object).
Método público GetLifetimeService Crítico para la seguridad. Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegido GetMenuCommands Muestra los comandos del menú contextual. (Invalida a CommandSetLibrary.GetMenuCommands()).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público Initialize Inicialice el conjunto de comandos.Llama a GetMenuCommands y almacena en caché los resultados. (Se hereda de CommandSetLibrary).
Método público InitializeLifetimeService Crítico para la seguridad. Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Se hereda de MarshalByRefObject).
Método protegido IsAnyDocumentSelectionCompartment True si cualquiera de los elementos de la lista de selección es un compartimiento. (Se hereda de CommandSetLibrary).
Método protegido IsAnyDocumentSelectionMoveableHostShape True si cualquiera de los elementos de la lista de selección es una forma de host movible, que no se puede eliminar. (Se hereda de CommandSetLibrary).
Método protegido IsAnyDocumentSelectionUndeletable True si alguno de los elementos de forma de la lista de selección no puede eliminarse. (Se hereda de CommandSetLibrary).
Método protegido IsCurrentDiagramEmpty True si el diagrama no tiene ningún elemento secundario. (Se hereda de CommandSetLibrary).
Método protegido IsDiagramSelected True si el diagrama está seleccionado. (Se hereda de CommandSetLibrary).
Método protegido IsExpandableShape Comprueba si un usuario puede expandir la forma para revelar propiedades de dominio.
Método protegido IsSingleDocumentSelection True si solo hay un elemento seleccionado en el documento activo. (Se hereda de CommandSetLibrary).
Método protegido IsSingleSelection True si solo hay un elemento seleccionado en la ventana de documento o la ventana de herramientas activa. (Se hereda de CommandSetLibrary).
Método protegido MemberwiseClone() Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido MemberwiseClone(Boolean) Crea una copia superficial del objeto MarshalByRefObject actual. (Se hereda de MarshalByRefObject).
Método protegido ProcessOnMenuDeleteCommand Se llama cuando el usuario hace clic en el comando eliminar o presiona la tecla SUPR.Elimina un elemento.Invalide este método para modificar este comportamiento.
Método protegido ProcessOnMenuEditCompartmentItemCommand Se llama cuando el usuario hace clic en el comando de menú Edición en un elemento en una forma de compartimiento.Especifica el estado de edición de texto.Invalide este método para modificar este comportamiento.
Método protegido ProcessOnMenuExpandCollapseCommand Se llama cuando el usuario expande o contrae una lista de propiedades asignado a una forma.
Método protegido ProcessOnMenuPageSetupCommand Abre el cuadro de diálogo de configuración de página.Invalide este método para modificar este comportamiento.
Método protegido ProcessOnMenuPrintCommand Abre el cuadro de diálogo Imprimir.Invalide este método para modificar este comportamiento.
Método protegido ProcessOnMenuPrintPreviewCommand Abre la ventana de vista previa de impresión.Invalide este método para modificar este comportamiento.
Método protegido ProcessOnMenuRerouteLineCommand Restablece la posición predeterminada de un conector entre dos formas.Invalide este método para modificar este comportamiento.
Método protegido ProcessOnMenuResetDecoratorLocationCommand Invalide este método a fin de procesar el comando de menú para restablecer la ubicación del elemento Decorator.
Método protegido ProcessOnMenuResetDecoratorSizeCommand Invalide este método a fin de procesar el comando de menú para restablecer el tamaño del elemento Decorator.
Método protegido ProcessOnMenuSelectAllCommand Se llama cuando el usuario hace clic en el comando Seleccionar Todo en el menú Edición, o presiona Ctrl-A.Selecciona todas las formas de un diagrama.Invalide el método para modificar este comportamiento.
Método protegido ProcessOnStatusDeleteCommand Determina si el comando Eliminar aparece en el menú contextual.Se llama cuando el usuario hace clic con el botón secundario del mouse en el diagrama.
Método protegido ProcessOnStatusEditCompartmentItemCommand Determina si el comando Editar aparece en el menú contextual.
Método protegido ProcessOnStatusExpandCollapseCommand Determina si el comando Expandir o Contraer aparece en el menú contextual.Se llama cuando el usuario hace clic con el botón secundario del mouse en el diagrama.
Método protegido ProcessOnStatusPageSetupCommand Determina si el comando Configurar página aparece en el menú Archivo.Se llama cuando el usuario hace clic en el menú Archivo mientras el diagrama está activo.
Método protegido ProcessOnStatusPrintCommand Determina si el comando Imprimir aparece en el menú Archivo.Se llama cuando el usuario hace clic en el menú Archivo mientras el diagrama está activo.
Método protegido ProcessOnStatusPrintPreviewCommand Determina si el comando Vista previa de impresión aparece en el menú.Se llama cuando el usuario hace clic en el menú Archivo mientras el diagrama está activo.
Método protegido ProcessOnStatusRerouteLineCommand Determina si el comando Redistribuir aparece en el menú contextual.Se llama cuando el usuario hace clic con el botón secundario del mouse en el diagrama.
Método protegido ProcessOnStatusResetDecoratorLocationCommand Determina si el comando Restablecer ubicación aparece en el menú contextual.Se llama cuando el usuario hace clic con el botón secundario del mouse en el diagrama.
Método protegido ProcessOnStatusResetDecoratorSizeCommand Determina si el comando Restablecer tamaño aparece en el menú.Se llama cuando el usuario hace clic con el botón secundario del mouse en el diagrama.
Método protegido ProcessOnStatusSelectAllCommand Determina si el comando Seleccionar todo aparece en el menú.Se llama cuando el usuario hace clic en el menú Edición mientras el diagrama está activo.
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Comentarios

Puede modificar cómo ADSL responde a algunos comandos de menú. Los comandos puede modificar incluyen los comandos del menú contextual, y algunos comandos del archivo y menús Edición.

En el proyecto de DslPackage, encontrará un archivo denominado generado CommandSet.cs, que contiene una declaración parcial de una clase denominada <YourLanguageName>CommandSet. Para modificar el comportamiento de los comandos de menú estándar, agregue otro archivo con una definición parcial de la misma clase.

En esta clase, puede invalidar los métodos definidos en la clase base.

NotaNota

Compruebe que el espacio de nombres en el nuevo archivo es igual que el espacio de nombres en el CommandSet.cs generado.En el nuevo archivo, cuando escribe la “override” en la declaración de clase, debería ver una lista de los métodos que se pueden reemplazar.

Cada comando tiene un método de ProcessOnStatus… y un método de ProcessOnMenu…. El método de ProcessOnStatus… determina si el comando aparecerá en el menú de clic con el botón secundario. Establezca la propiedad Visible del parámetro de comando para determinar si el comando está visible, y establecer la propiedad enabled para determinar si el elemento de menú está habilitado o greyed out.

El método de ProcessOnMenu… realiza el comando cuando el usuario hace clic en el elemento de menú.

NotaNota

Puede definir comandos adicionales en el archivo de Commands.vsct.

Para obtener más información, vea Cómo: Agregar un comando a un menú contextual.

Ejemplos

Este archivo se agrega al proyecto de DslPackage. Impide que los usuarios ADSL eliminen más de un elemento al mismo tiempo.

// 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();
      }
    }
  }
}

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.Modeling.Shell (Espacio de nombres)

Otros recursos

Cómo: Agregar un comando a un menú contextual