Binden von Tastenkombinationen an Menüelemente

Um eine Tastenkombination an einen benutzerdefinierten Menübefehl zu binden, fügen Sie einfach einen Eintrag zur VSCT-Datei für das Paket hinzu. In diesem Thema wird erläutert, wie Sie eine Tastenkombination einem benutzerdefinierten Schaltflächen-, Menüelement- oder Symbolleistenbefehl zuordnen und wie Sie die Tastaturzuordnung im Standard-Editor anwenden oder auf einen benutzerdefinierten Editor beschränken.

Informationen zum Zuweisen von Tastenkombinationen zu vorhandenen Visual Studio-Menüelementen finden Sie unter Identifizieren und Anpassen von Tastenkombinationen.

Auswählen einer Tastenkombination

Viele Tastenkombinationen werden bereits in Visual Studio verwendet. Sie sollten nicht dieselbe Verknüpfung mehreren Befehlen zuweisen, da doppelte Bindungen schwer zu erkennen sind und zu unvorhersehbaren Ergebnissen führen können. Daher empfiehlt es sich, die Verfügbarkeit einer Verknüpfung zu überprüfen, bevor Sie sie zuweisen.

So überprüfen Sie die Verfügbarkeit einer Tastenkombination

  1. Wählen Sie im Fenster "Extras>Optionen>Umgebung" die Option "Tastatur" aus.

  2. Stellen Sie sicher, dass " Neue Verknüpfung verwenden" auf "Global" festgelegt ist.

  3. Geben Sie im Feld "Tastenkombinationen drücken" die tastenkombination ein, die Sie verwenden möchten.

    Wenn die Verknüpfung bereits in Visual Studio verwendet wird, zeigt die derzeit verwendete Verknüpfung den Befehl an, den die Verknüpfung derzeit aufruft.

  4. Probieren Sie verschiedene Tastenkombinationen aus, bis Sie eine gefunden haben, die nicht zugeordnet ist.

    Hinweis

    Tastenkombinationen, die ALT verwenden, können ein Menü öffnen und keinen Befehl direkt ausführen. Daher ist die derzeit im Feld verwendete Verknüpfung leer, wenn Sie eine Verknüpfung eingeben, die ALT enthält. Sie können überprüfen, ob die Verknüpfung kein Menü öffnet, indem Sie das Dialogfeld "Optionen" schließen und dann die Tasten drücken.

    Im folgenden Verfahren wird davon ausgegangen, dass Sie über ein vorhandenes VSPackage mit einem Menübefehl verfügen. Wenn Sie Hilfe benötigen, lesen Sie "Erstellen einer Erweiterung mit einem Menübefehl".

So weisen Sie einem Befehl eine Tastenkombination zu

  1. Öffnen Sie die VSCT-Datei für Ihr Paket.

  2. Erstellen Sie einen leeren <KeyBindings> Abschnitt, wenn <Commands> er noch nicht vorhanden ist.

    Warnung

    Weitere Informationen zu Schlüsselbindungen finden Sie unter Keybinding.

    Erstellen Sie im <KeyBindings> Abschnitt einen <KeyBinding> Eintrag.

    Legen Sie die guid Attribute auf id die des Befehls fest, den Sie aufrufen möchten.

    Legen Sie das mod1 Attribut auf "Control", "Alt" oder "Shift" fest.

    Der KeyBindings-Abschnitt sollte etwa wie folgt aussehen:

    <KeyBindings>
        <KeyBinding guid="<name of command set>" id="<name of command id>"
            editor="guidVSStd97" key1="1" mod1="CONTROL"/>
    </KeyBindings>
    
    

    Wenn für Die Tastenkombination mehr als zwei Tasten erforderlich sind, legen Sie die mod2 Und-Attribute key2 fest.

    In den meisten Fällen sollte UMSCHALT nicht ohne einen zweiten Modifizierer verwendet werden, da das Drücken bereits dazu führt, dass die meisten alphanumerischen Tasten einen Großbuchstaben oder ein Symbol eingeben.

    Mit virtuellen Tastencodes können Sie auf spezielle Tasten zugreifen, die keinem Zeichen zugeordnet sind, z. B. Funktionstasten und die RÜCKTASTE . Weitere Informationen finden Sie unter "Virtuelle Schlüsselcodes".

    Um den Befehl im Visual Studio-Editor verfügbar zu machen, legen Sie das editor Attribut auf guidVSStd97.

    Um den Befehl nur in einem benutzerdefinierten Editor verfügbar zu machen, legen Sie das editor Attribut auf den Namen des benutzerdefinierten Editors fest, der von der Visual Studio-Paketvorlage generiert wurde, als Sie das VSPackage erstellt haben, das den benutzerdefinierten Editor enthält. Um den Namenswert zu finden, suchen Sie im <Symbols> Abschnitt nach einem <GuidSymbol> Knoten, dessen name Attribut auf "editorfactory." endet. Dies ist der Name des benutzerdefinierten Editors.

Beispiel 1

In diesem Beispiel wird die Tastenkombination STRG+ALT+C an einen Befehl gebunden, der in einem Paket mit dem Namen benannt cmdidMyCommandMyPackageist.

<CommandTable>
. . .
<Commands>
. . .
</Commands>
<KeyBindings>
  <KeyBinding guid="guidMyPackageCmdSet" id="cmdidMyCommand"
      key1="C" mod1="CONTROL" mod2="ALT" editor="guidVSStd97" />
</KeyBindings>
. . .
</CommandTable>

Beispiel 2

In diesem Beispiel wird die Tastenkombination STRG+B an einen Befehl gebunden, der in einem Projekt mit dem Namen benannt ist.cmdidBoldTestEditor Der Befehl ist nur im benutzerdefinierten Editor und nicht in anderen Editoren verfügbar.

<KeyBinding guid="guidVSStd97" id="cmdidBold" editor="guidTestEditorEditorFactory" key1="B" mod1="Control" />