Поделиться через


Практическое руководство. Создание списка текущих сочетаний клавиш

Используйте эту процедуру для создания макроса, создающего список всех команд среды разработки и всех сочетаний клавиш, назначенных этим командам в соответствии с текущей схемой клавиатуры.

В интегрированной среде разработки существует несколько схем раскладки клавиатуры. Схемы раскладки клавиатуры можно изменить на странице Клавиатура в папке Среда в окне Параметры. Дополнительные сведения см. в разделе Практическое руководство. Работа с сочетаниями клавиш.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите Параметры импорта и экспорта в меню Сервис.Дополнительные сведения см. в разделе Работа с параметрами.

Для отображения текущих сочетаний клавиш

  1. В меню Сервис выберите Макрос, затем щелкните Интегрированная среда разработки макросов.

  2. В обозревателе объектов дважды щелкните MyMacros.

  3. Щелкните правой кнопкой мыши Module1 и выберите пункт Переименовать.

  4. Введите KeyboardShortcuts в качестве нового имени модуля.

  5. Дважды щелкните KeyboardShortcuts, чтобы открыть файл в редакторе.

  6. Вставьте следующий код в файл после 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
    
  7. В меню Файл выберите Сохранить MyMacros.

  8. Вернитесь в Visual Studio.

  9. В меню Сервис выберите Макрос, затем щелкните Обозреватель макросов.

  10. Разверните MyMacros и разверните KeyboardShortcuts.

  11. Щелкните правой кнопкой мыши GetAllCommands и выберите пункт Выполнить.

    Макрос создаст список всех команд среды разработки и всех сочетаний клавиш, назначенных этим командам в соответствии с текущей схемой клавиатуры.

  12. В меню Вид выберите команду Выход.

    Команды и назначенные им сочетания клавиш будут отображены в окне Вывод. Эти данные можно скопировать в другое приложение, например в Microsoft Office Excel, для форматирования и печати.

См. также

Задачи

Практическое руководство. Работа с сочетаниями клавиш

Основные понятия

Предварительно определенные сочетания клавиш

Другие ресурсы

Параметры Visual Studio