Partager via


CommandSet, classe

Représente un sous-ensemble des commandes disponibles dans les menus d'un langage spécifique au domaine. Remplace les méthodes dans YourLanguageCommandSet pour modifier la façon dont ces commandes sont traitées.

Cette API n'est pas conforme CLS. 

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Modeling.Shell
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Syntaxe

'Déclaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

Le type CommandSet expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée CommandSet Initialise une nouvelle instance de la classe CommandSet.

Début

Propriétés

  Nom Description
Propriété protégée CurrentDocData (Hérité de CommandSetLibrary.)
Propriété protégée CurrentDocumentSelection (Hérité de CommandSetLibrary.)
Propriété protégée CurrentDocView Obtient la vue de la fenêtre de document active.
Propriété protégée CurrentModelingDocView (Hérité de CommandSetLibrary.)
Propriété protégée CurrentSelection (Hérité de CommandSetLibrary.)
Propriété protégée MenuService (Hérité de CommandSetLibrary.)
Propriété protégée MonitorSelection (Hérité de CommandSetLibrary.)
Propriété protégée ServiceProvider (Hérité de CommandSetLibrary.)
Propriété protégée SingleDocumentSelection (Hérité de CommandSetLibrary.)
Propriété protégée SingleSelection (Hérité de CommandSetLibrary.)

Début

Méthodes

  Nom Description
Méthode protégée CanDeleteSelectedItems Retourne la valeur true si les éléments sélectionnés peuvent être supprimés. (Hérité de CommandSetLibrary.)
Méthode publique CreateObjRef Essentiel pour la sécurité. Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject.)
Méthode protégée DeleteSelectedItems Supprime les éléments sélectionnés. (Hérité de CommandSetLibrary.)
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publique GetLifetimeService Essentiel pour la sécurité. Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégée GetMenuCommands Affiche les commandes du menu contextuel. (Substitue CommandSetLibrary.GetMenuCommands().)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique Initialize Initialise le jeu de commandes.Appelle GetMenuCommands et met en cache le résultat. (Hérité de CommandSetLibrary.)
Méthode publique InitializeLifetimeService Essentiel pour la sécurité. Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject.)
Méthode protégée IsAnyDocumentSelectionCompartment True si l'un des éléments de la liste de sélection est un compartiment. (Hérité de CommandSetLibrary.)
Méthode protégée IsAnyDocumentSelectionMoveableHostShape True si l'un des éléments de la liste de sélection est une forme hôte déplaçable qui ne peut pas être supprimée. (Hérité de CommandSetLibrary.)
Méthode protégée IsAnyDocumentSelectionUndeletable True si des éléments de forme présents dans la liste de sélection ne peuvent pas être supprimés. (Hérité de CommandSetLibrary.)
Méthode protégée IsCurrentDiagramEmpty True si le diagramme n'a aucun enfant. (Hérité de CommandSetLibrary.)
Méthode protégée IsDiagramSelected True si le diagramme est sélectionné. (Hérité de CommandSetLibrary.)
Méthode protégée IsExpandableShape Vérifie si un utilisateur peut développer la forme pour indiquer les propriétés de domaine.
Méthode protégée IsSingleDocumentSelection True si seul un seul élément est sélectionné dans le document actif. (Hérité de CommandSetLibrary.)
Méthode protégée IsSingleSelection True si seul un élément est sélectionné dans la fenêtre de document active ou la fenêtre Outil. (Hérité de CommandSetLibrary.)
Méthode protégée MemberwiseClone() Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégée MemberwiseClone(Boolean) Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject.)
Méthode protégée ProcessOnMenuDeleteCommand Appelée lorsque l'utilisateur clique sur la commande Supprimer ou appuie sur la touche SUPPR.Supprime un élément.Remplace cette méthode pour modifier ce comportement.
Méthode protégée ProcessOnMenuEditCompartmentItemCommand Appelée lorsque l'utilisateur clique sur la commande de menu Edition d'un élément dans une forme de compartiment.Entre l'état de modification de texte.Remplace cette méthode pour modifier ce comportement.
Méthode protégée ProcessOnMenuExpandCollapseCommand Appelée lorsque l'utilisateur développe ou réduit une liste de propriétés qui est assignée à une forme.
Méthode protégée ProcessOnMenuPageSetupCommand Ouvre la boîte de dialogue Mise en page.Remplace cette méthode pour modifier ce comportement.
Méthode protégée ProcessOnMenuPrintCommand Ouvre la boîte de dialogue Imprimer.Remplace cette méthode pour modifier ce comportement.
Méthode protégée ProcessOnMenuPrintPreviewCommand Ouvre la fenêtre Aperçu avant impression.Remplace cette méthode pour modifier ce comportement.
Méthode protégée ProcessOnMenuRerouteLineCommand Restaure la position par défaut d'un connecteur entre deux formes.Remplace cette méthode pour modifier ce comportement.
Méthode protégée ProcessOnMenuResetDecoratorLocationCommand Remplacez cette méthode pour traiter la commande de menu Reset Decorator Location.
Méthode protégée ProcessOnMenuResetDecoratorSizeCommand Remplacez cette méthode pour traiter la commande de menu Reset Decorator Size.
Méthode protégée ProcessOnMenuSelectAllCommand Appelée lorsque l'utilisateur clique sur la commande Sélectionner tout du menu Edition ou appuie sur CTRL-A.Sélectionne toutes les formes dans un diagramme.Remplace la méthode pour modifier ce comportement.
Méthode protégée ProcessOnStatusDeleteCommand Détermine si la commande de suppression apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme.
Méthode protégée ProcessOnStatusEditCompartmentItemCommand Détermine si la commande d'édition apparaît dans le menu contextuel.
Méthode protégée ProcessOnStatusExpandCollapseCommand Détermine si la commande de développement ou de réduction apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme.
Méthode protégée ProcessOnStatusPageSetupCommand Détermine si la commande Mise en page apparaît dans le menu Fichier.Appelée lorsque l'utilisateur clique sur le menu Fichier pendant que le diagramme est actif.
Méthode protégée ProcessOnStatusPrintCommand Détermine si la commande Imprimer apparaît dans le menu Fichier.Appelée lorsque l'utilisateur clique sur le menu Fichier pendant que le diagramme est actif.
Méthode protégée ProcessOnStatusPrintPreviewCommand Détermine si la commande Aperçu avant impression apparaît dans le menu.Appelée lorsque l'utilisateur clique sur le menu Fichier pendant que le diagramme est actif.
Méthode protégée ProcessOnStatusRerouteLineCommand Détermine si la commande Rediriger apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme.
Méthode protégée ProcessOnStatusResetDecoratorLocationCommand Détermine si la commande relative aux emplacements de l'élément décoratif apparaît dans le menu contextuel.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme.
Méthode protégée ProcessOnStatusResetDecoratorSizeCommand Détermine si la commande de redéfinition de la taille de l'élément décoratif apparaît dans le menu.Appelée lorsque l'utilisateur clique avec le bouton droit sur le diagramme.
Méthode protégée ProcessOnStatusSelectAllCommand Détermine si la commande Sélectionner tout apparaît dans le menu.Appelée lorsque l'utilisateur clique sur le menu Edition pendant que le diagramme est actif.
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Notes

Vous pouvez modifier la manière dont votre DSL répond à certaines commandes de menu. Les commandes que vous pouvez modifier incluent des commandes du menu contextuel, et certaines commandes sur le fichier et les menu Edition.

Dans votre projet de DslPackage, vous trouverez un fichier généré CommandSet.cs appelée, qui contient une déclaration partielle d'une classe appelée <YourLanguageName>CommandSet. Pour modifier le comportement des commandes de menu standard, ajoutez un autre fichier avec une définition partielle de la même classe.

Dans cette classe, vous pouvez substituer les méthodes définies dans la classe de base.

Notes

Vérifiez que l'espace de noms dans votre fichier est le même que l'espace de noms dans le CommandSet.cs généré.Dans le nouveau fichier, lorsque vous tapez « substitution » dans la déclaration de classe, vous devez afficher la liste des méthodes que vous pouvez remplacer.

Chaque commande possède une méthode de ProcessOnStatus… et une méthode de ProcessOnMenu… CATCH. La méthode de ProcessOnStatus… détermine si la commande apparaît dans le menu contextuel. Affectez à la propriété Visible du paramètre de commande pour déterminer si la commande est visible, et pour définir la propriété Enabled pour déterminer si l'élément de menu est activée et grisée.

La méthode de ProcessOnMenu… effectue la commande lorsque l'utilisateur clique sur l'élément de menu.

Notes

Vous pouvez définir des commandes supplémentaires du fichier de Commands.vsct.

Pour plus d'informations, consultez Comment : ajouter une commande au menu contextuel.

Exemples

Ce fichier est ajouté au projet de DslPackage. Il empêché les utilisateurs de DSL de supprimer plusieurs éléments à la fois.

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.Shell, espace de noms

Autres ressources

Comment : ajouter une commande au menu contextuel