Gewusst wie: Zuordnen eines Befehls zu einer einzelnen Tastenkombination

Add-Ins für Visual Studio sind in Visual Studio 2013 veraltet. Sie müssen für Ihre Add-Ins ein Upgrade auf VSPackage-Erweiterungen durchführen. Weitere Informationen über das Durchführen eines Upgrades finden Sie unter FAQ: Konvertieren von Add-Ins in VSPackage-Erweiterungen.

Sie können Zuordnungen für Tastenkombinationen nicht nur anzeigen, sondern mithilfe der Bindings-Eigenschaft auch die Tastenzuordnungen für einen Visual Studio-Befehl festlegen oder ändern. Wenn Sie eine Tastenzuordnung ändern, wird die vorherige Tastenzuordnung ersetzt, d. h., die alte Zuordnung geht verloren. Und wenn die neue Tastenzuordnung von einem anderen Befehl verwendet wird, wird die Tastenzuordnung auch von dem alten Befehl entfernt und dem neuen Befehl neu zugeordnet.

Es gibt jedoch eine Möglichkeit, eine Tastenzuordnung beizubehalten, sodass aus einer neuen Tastenzuordnung eine zusätzliche Tastenkombination wird, die alte Tastenzuordnung also nicht überschrieben wird. Diese Methode wird im folgenden Thema erläutert: Gewusst wie: Beibehalten vorhandener Tastenkombinationen.

Hinweis

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen.Bei der Entwicklung dieser Verfahren war die Option Allgemeine Entwicklungseinstellungen aktiviert.Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern.Weitere Informationen finden Sie unter Anpassen der Entwicklungseinstellungen in Visual Studio.

Prozedur

So ordnen Sie einen Befehl einer Tastenkombination zu

  1. Erstellen Sie mit dem Visual Studio Add-In-Assistenten ein neues Add-In. Benennen Sie das Projekt, und klicken Sie auf OK, um den Assistenten zu starten.

    Weitere Informationen zum Verwenden des Visual Studio-Add-In-Assistenten finden Sie unter Gewusst wie: Erstellen von Add-Ins.

  2. Wählen Sie auf der Seite Wählen Sie eine Programmiersprache aus entweder Ein Add-In mit Visual C# erstellen aus, um das unten stehende Visual C#-Beispiel auszuführen, oder Ein Add-In mit Visual Basic erstellen, um das Visual Basic-Beispiel auszuführen.

  3. Fügen Sie die unten stehende Beispielfunktion in die Connect-Klasse des vom Visual Studio-Add-In-Assistenten generierten Codes ein.

  4. OnConnection-Methode wie in Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell beschrieben.

  5. Erstellen Sie das Add-In, und führen Sie es aus.

    Drücken Sie F2, um den Befehl File.Newfile auszuführen.

Beispiel

Im folgenden Add-In-Beispiel wird veranschaulicht, wie der Befehl File.NewFile einer einzelnen Tastenkombination (F2) zugeordnet wird.

Public Sub OnConnection(ByVal application As Object, ByVal  _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef  _
  custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    BindingsExample(_applicationObject)
            
End Sub

Sub BindingsExample(ByVal dte As DTE2)
    Dim cmds As Commands
    Dim cmd As Command
    Try
        ' Set references to the Commands collection and the 
        ' File.NewFile command.
        cmds = DTE.Commands
        cmd = cmds.Item("File.NewFile")

        ' Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2"
        MsgBox("key remapped")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    BindingsExample(_applicationObject);

}

public void BindingsExample(DTE2 dte)
{
    Commands cmds;
    Command cmd;

    try
    {
        // Set references to the Commands collection and the 
        // File.NewFile command.
        cmds = dte.Commands;
        cmd = cmds.Item("File.NewFile", 1);

        // Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2";
        System.Windows.Forms.MessageBox.Show("key remapped");
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

Siehe auch

Aufgaben

Gewusst wie: Zuordnen eines Befehls zu mehreren Tastenkombinationen

Gewusst wie: Beibehalten vorhandener Tastenkombinationen

Konzepte

Parameterformat der Bindings-Eigenschaft

Weitere Ressourcen

Zuordnen von Add-In-Befehlen zu Tasten