Jak: powiązać polecenie wiele skrótów klawiaturowych
Można powiązać skrót klawiaturowy więcej niż jednego polecenia.Może to być przydatne, gdy na przykład dwóch użytkowników, którzy pracują nad projektem każdego woli różnych skrótów dla tego samego polecenia.To powiązanie jest realizowane przez przekazanie skróty jako elementy tablicy typu string Object.
[!UWAGA]
Komputer może być wykazują różne nazwy lub lokalizacje dla niektórych użytkowników programu Visual Studio elementów interfejsu poniższe instrukcje.Program Visual Studio, że masz i ustawień, które można używać określenia tych elementów.Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Aby powiązać polecenie wiele skrótów klawiaturowych
Użyj Programu Visual Studio-W Kreatorze do tworzenia dodatku.Nazwa projektu, a następnie kliknij przycisk OK , aby uruchomić kreatora.
Aby uzyskać więcej informacji na temat używania Programu Visual Studio-W Kreatorze, zobacz Jak: Tworzenie dodatku.
Na Wybierz język programowania strony, wybierz opcję za pomocą Utwórz Dodaj w Visual C# do uruchomienia Visual C# przykład, w tym temacie lub utworzyć - w przy użyciu kodu języka Visual Basic do uruchomienia Visual Basic przykład.
Wklej funkcję przykład w Connect klasy kodu, który jest generowany przez Programu Visual Studio-W Kreatorze.
Aby utworzyć kopię domyślnego ustawienia klawiatury, przejdź do.\Program Files\Microsoft 10\Common7\IDE\ programu visual Studio.Kliknij prawym przyciskiem myszy jeden z plików .vsk, a następnie kliknij przycisk kopię.Wklej kopię w tym samym folderze.Kopia jest o nazwie "kopia nazwę pliku .vsk".
Zmień nazwę kopii pliku.
Aby zweryfikować, że nowy plik .vsk jest wyświetlany na liście powiązań klawiatury w Visual Studio kliknij Opcje na Narzędzia menu.
W lewym okienku Opcje okno dialogowe rozwiń środowiska folderu i wybierz klawiatury.
Zapewnić, że nazwa pliku .vsk, którego nazwa została zmieniona wcześniej pojawia się w Zastosuj następujący plan mapowania klawiatury dodatkowe listy.
Przed uruchomieniem przykład w, upewnij się, że wiązania klawiatury są ustawione na (domyślnie).Można to zrobić, klikając zresetować w klawiatury okienka Opcje okno dialogowe.
W prop.Value = "< Filename.vsk>" krok przykład w, należy zastąpić <Filename.vsk> za pomocą nową nazwę schematu klawiatury wcześniej określonych.
Wywołanie funkcji OnConnection metody, jak opisano w Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji.
Uwzględniania, a następnie uruchomić, klikając - w Menedżerze na Narzędzia menu, wybranie utworzono dodatek, a następnie klikając OK.
Polecenie jest związany z dwóch różnych skrótów klawiszy.Naciśnij klawisze CTRL + SHIFT + ALT + Y lub CTRL + SHIFT + ALT + X, aby wyświetlić Nowy plik okno dialogowe.
Przykład
Poniższy przykład zastępuje istniejący skrót klawiaturowy, przy użyciu dwóch nowych.
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;
}
Zobacz też
Zadania
Jak: powiązać polecenie pojedynczego klawisza skrótu
Jak: Zachowaj istniejące skróty klawiaturowe
Koncepcje
Format parametru właściwości powiązania