Sdílet prostřednictvím


Postupy: Vytvoření vazby příkazu k více klávesovým zkratkám

Doplňky Visual Studio jsou ve verzi aplikace Visual Studio 2013 zastaralé.Měli byste upgradovat doplňky na rozšíření VSPackage.Další informace o upgradu viz Nejčastější dotazy: Převádění doplňků na rozšíření VSPackage.

Můžete svázat více než jednu klávesovou zkratku k příkazu.To může být užitečné, pokud například dva uživatelé, kteří pracují na projektu, každý preferuje jinou klávesovou zkratku pro stejný příkaz.Tato vazba je uskutečněna tím, že předáte klávesové zkratky jako prvky řetězce v poli typu Object.

[!POZNÁMKA]

Váš počítač může zobrazit jiné názvy nebo umístění pro některé prvky uživatelského rozhraní sady Visual Studio v následujících pokynech.Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením.Další informace naleznete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Vazba příkazu s více klávesovými zkratkami

  1. Použijte Průvodce doplňky sady Visual Studio k vytvoření doplňku.Pojmenujte projekt a kliknutím na OK spusťte průvodce.

    Další informace o použití Průvodce doplňkem Visual Studio naleznete v tématu Postupy: Vytvoření doplňku.

  2. Na stránce Zvolte programovací jazyk vyberte buď možnost Vytvořit doplněk pomocí jazyka Visual C# ke spuštění příkladu Visual C# v tomto tématu, nebo Vytvořit doplněk pomocí jazyka Visual Basic ke spuštění příkladu Visual Basic.

  3. Vložte ukázkovou funkci třídy Connect kódu, který je generován Průvodcem doplňky sady Visual Studio.

  4. Chcete-li vytvořit kopii výchozího nastavení klávesnice, přejděte na ..\Program Files\Microsoft Visual Studio 10\Common7\IDE\.Klikněte na jeden soubor .vsk pravým tlačítkem myši a pak klikněte na Kopírovat.Vložte kopii do stejné složky.Kopie se nazývá „.vsk file name (kopie)“.

  5. Přejmenujte kopii souboru.

  6. Chcete-li ověřit, zda se nový soubor .vsk zobrazí v seznamu vazeb klávesnice, v aplikaci Visual Studio klepněte na možnost Možnosti v nabídce Nástroje.

  7. V levém podokně dialogového okna Možnosti rozbalte složku Prostředí a vyberte Klávesnice.

    Ujistěte se, zda je název souboru .vsk, který jste dříve přejmenovali, zobrazen v seznamu Použít následující dodatečné schéma mapování klávesnice.

  8. Dříve než spustíte doplněk v příkladu, ujistěte se, že vazby klávesnice byly nastaveny na (Výchozí).To můžete provést klepnutím na možnost Obnovit v podokně Klávesnice dialogového okna Možnosti.

  9. V kroku prop.Value = "< Filename.vsk>" příkladu doplňku nahraďte <Filename.vsk> pomocí nového názvu schématu klávesnice, který jste zadali dříve.

  10. Volání funkce z metody OnConnection, jak je popsáno v Postupy: Kompilace a spuštění příkladů kódu objektu automatizace.

  11. Vytvořte doplněk a potom jej spusťte klepnutím na Správce doplňků v nabídce Nástroje , vyberte vytvořený doplněk a klepněte na OK.

    Příkaz je vázán na dvě různé klávesové zkratky.Stiskněte kombinaci kláves CTRL + SHIFT + ALT + Y nebo CTRL + SHIFT + ALT + X, chcete-li zobrazit dialogové okno Nový soubor.

Příklad

Následující příklad nahrazuje existující klávesovou zkratku pomocí dvou nových.

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)
    BindSingle(_applicationObject)
End Sub
Sub BindSingle(ByVal dte As DTE2)
    ' Adds two new keybindings to a command.
    Dim cmds As Commands
    Dim cmd As Command
    Dim props As EnvDTE.Properties = DTE.Properties("Environment", _"Keyboard")
    Dim prop As EnvDTE.Property
    Dim bindings(1) As Object

    ' Make a writeable copy of the default keymapping scheme.
    prop = props.Item("SchemeName")
    prop.Value = "<FileName.vsk>"
    ' Assign the two shortcut key combinations, CTRL+SHIFT+ALT+Y and 
    ' CTRL+SHIFT+ALT+X, to the two bindings array elements. 
    bindings(0) = "Global:: CTRL+SHIFT+ALT+Y"
    bindings(1) = "Global:: CTRL+SHIFT+ALT+X"
    ' Set references to the Commands collection and the File.NewFile
    ' command.
    cmds = DTE.Commands
    cmd = cmds.Item("File.NewFile")
    ' Assign the contents of the bindings array to the Bindings 
    ' property.
    cmd.Bindings = bindings
End Sub
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    BindMultiple(_applicationObject ); 
}

public void BindMultiple( DTE2 dte ) 
{ 
    // Adds two new keybindings to a command.
    Commands cmds = null; 
    Command cmd = null; 
    EnvDTE.Properties props = dte.get_Properties( "Environment",
 "Keyboard"); 
    EnvDTE.Property prop = null; 
    Object[] bindings = new Object[ 2 ]; 

    // Make a writeable copy of the default keymapping scheme.
    prop = props.Item( "SchemeName" ); 
    prop.Value = "<FileName.vsk>"; 
    // Assign the two shortcut key combinations, CTRL+SHIFT+ALT+Y and 
    // CTRL+SHIFT+ALT+X, to the two bindings array elements. 
    bindings[ 0 ] = "Global:: CTRL+SHIFT+ALT+Y"; 
    bindings[ 1 ] = "Global:: CTRL+SHIFT+ALT+X"; 
    // Set references to the Commands collection and the File.NewFile
    // command.
    cmds = dte.Commands; 
    cmd = cmds.Item( "File.NewFile", -1 ); 
    // Assign the contents of the bindings array to the Bindings 
    // property.
    cmd.Bindings = bindings; 
} 

Viz také

Úkoly

Postupy: Vytvoření vazby příkazu k jediné klávesové zkratce

Postupy: Uchování stávajících klávesových zkratek

Koncepty

Formát parametru vlastností vazeb

Další zdroje

Vázání doplňkových příkazů na klávesy