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
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.
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.
Vložte ukázkovou funkci třídy Connect kódu, který je generován Průvodcem doplňky sady Visual Studio.
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)“.
Přejmenujte kopii souboru.
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.
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.
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.
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.
Volání funkce z metody OnConnection, jak je popsáno v Postupy: Kompilace a spuštění příkladů kódu objektu automatizace.
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