Udostępnij za pośrednictwem


Porady: powiązanie polecenia z wieloma klawiszami skrótu

Dodatki Visual Studio zostały zaniechane w programie Visual Studio 2013.Dodatki należy uaktualniać do pakietu rozszerzenia VSPackage.Aby uzyskać więcej informacji na temat uaktualniania, zobacz Często zadawane pytania: konwertowanie dodatków na rozszerzenia pakietu VSPackage.

Można powiązać więcej niż jeden skrót klawiaturowy do polecenia.Może to być przydatne, gdy na przykład dwóch użytkowników, którzy pracują nad projektem woli różne skróty dla tego samego polecenia.To powiązanie jest realizowane przez przekazanie skrótów jako elementów tablicy typu ciąg Object.

[!UWAGA]

Komputer może polazać inne nazwy lub lokalizacje dla niektórych elementów interfejsu użytkownika Visual Studio w dalszych instrukcjach.Te elementy są determinowane przez numer edycji Twojego programu Visual Studio oraz Twoje ustawienia.Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Aby powiązać polecenie wielu skrótów klawiaturowych

  1. Użyj Kreatora dodatków programu Visual Studio, aby utworzyć dodatek.Nazwij projektu i kliknij OK, aby uruchomić kreatora.

    Aby uzyskać więcej informacji na temat sposobu użycia Kreatora dodatków pakietu Visual Studio, zobacz Porady: tworzenie dodatku.

  2. Na stronie Wybierz język programowania wybierz opcję Utwórz dodatek przy użyciu programu Visual C# , aby uruchomić Visual C# przykład w tym temacie lub Utwórz dodatek przy użyciu języka Visual Basic, aby uruchomić Visual Basic przykład.

  3. Wklej przykład funkcja w Connect klasie kodu, który jest generowany przez programu Visual Studio dodatek Kreator.

  4. Aby utworzyć kopię domyślną 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 Kopiuj.Wklej kopię w tym samym folderze.Kopia jest o nazwana "Kopia .vsk file name".

  5. Zmień nazwę kopii pliku.

  6. Aby sprawdzić, czy nowy plik .vsk pojawia się na liście powiązań klawiatury w Visual Studio kliknij Opcje w menu Narzędzia.

  7. W lewym okienku okna dialogowego Opcje rozwiń folder Środowisko i wybierz Klawiatura.

    Upewnij się, że nazwa pliku .vsk, którego nazwa została zmieniona wcześniej pojawia się na liście Zastosuj poniższy schemat mapowania dodatkowej klawiatury.

  8. Przed uruchomieniem przykładu dodatku, upewnij się, że powiązania klawiatury są ustawione na (Opcja domyślna).Można to zrobić, klikając Resetuj w okienku Klawiatura okna dialogowego Opcje.

  9. W kroku prop.Value = "< Filename.vsk>" przykładu dodatku, zamień <Filename.vsk> za pomocą nowej nazwy schematu klawiatury określonej wcześniej.

  10. Wywołaj funkcję z metody OnConnection zgodnie z opisem w Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady.

  11. Kompiluj dodatek i następnie uruchom go przez kliknięcie przycisku Menedżer dodatków w menu Narzędzia, wybranie utworzonego dodatku, a następnie kliknięcie OK.

    Polecenie jest złożone z dwóch różnych skrótów.Naciśnij klawisze CTRL + SHIFT + ALT + Y lub CTRL + SHIFT + ALT + X, aby wyświetlić okno dialogowe Nowy plik.

Przykład

Poniższy przykład zastępuje istniejący skrót klawiaturowy przy użyciu dwóch nowych komentarzy.

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

Porady: powiązanie polecenia z jednym klawiszem skrótu

Porady: zachowywanie istniejących skrótów klawiaturowych

Koncepcje

Format parametru właściwości powiązania

Inne zasoby

Powiązanie poleceń dodatków z klawiszami