Практическое руководство. Создание списка текущих сочетаний клавиш
Используйте эту процедуру для создания макроса, создающего список всех команд среды разработки и всех сочетаний клавиш, назначенных этим командам в соответствии с текущей схемой клавиатуры.
В интегрированной среде разработки существует несколько схем раскладки клавиатуры. Схемы раскладки клавиатуры можно изменить на странице Клавиатура в папке Среда в окне Параметры. Дополнительные сведения см. в разделе Практическое руководство. Работа с сочетаниями клавиш.
Примечание
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите Параметры импорта и экспорта в меню Сервис.Дополнительные сведения см. в разделе Работа с параметрами.
Для отображения текущих сочетаний клавиш
В меню Сервис выберите Макрос, затем щелкните Интегрированная среда разработки макросов.
В обозревателе объектов дважды щелкните MyMacros.
Щелкните правой кнопкой мыши Module1 и выберите пункт Переименовать.
Введите KeyboardShortcuts в качестве нового имени модуля.
Дважды щелкните KeyboardShortcuts, чтобы открыть файл в редакторе.
Вставьте следующий код в файл после Public Module KeyboardShortcuts:
Sub GetAllCommands() Dim cmd As Command Dim ow As OutputWindow = DTE.Windows.Item(Constants.vsWindowKindOutput).Object Dim owp As OutputWindowPane Dim exists As Boolean Dim i As Integer Dim sArray() As String sArray = New String() {} i = 1 exists = False For Each owp In ow.OutputWindowPanes If owp.Name = "Macro Output" Then exists = True Exit For End If i = i + 1 Next If exists Then owp = ow.OutputWindowPanes.Item(i) Else owp = ow.OutputWindowPanes.Add("Macro Output") End If owp.Clear() ' Output 1 line per command For Each cmd In DTE.Commands Dim binding As Object Dim shortcuts As String shortcuts = "" For Each binding In cmd.Bindings Dim b As String b = binding If Not shortcuts = "" Then shortcuts += "--OR-- " End If shortcuts = shortcuts + b + " " Next shortcuts = shortcuts.Trim() If Not cmd.Name.Trim().Equals("") And Not shortcuts.Equals("") Then sArray.Resize(sArray, sArray.Length + 1) sArray(sArray.Length - 1) = cmd.Name + vbTab + shortcuts End If Next Array.Sort(sArray) owp.OutputString(String.Join(vbCrLf, sArray)) End Sub
В меню Файл выберите Сохранить MyMacros.
Вернитесь в Visual Studio.
В меню Сервис выберите Макрос, затем щелкните Обозреватель макросов.
Разверните MyMacros и разверните KeyboardShortcuts.
Щелкните правой кнопкой мыши GetAllCommands и выберите пункт Выполнить.
Макрос создаст список всех команд среды разработки и всех сочетаний клавиш, назначенных этим командам в соответствии с текущей схемой клавиатуры.
В меню Вид выберите команду Выход.
Команды и назначенные им сочетания клавиш будут отображены в окне Вывод. Эти данные можно скопировать в другое приложение, например в Microsoft Office Excel, для форматирования и печати.
См. также
Задачи
Практическое руководство. Работа с сочетаниями клавиш
Основные понятия
Предварительно определенные сочетания клавиш