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


Практическое руководство. Привязка команды к одному сочетанию клавиш

Обновлен: Ноябрь 2007

Кроме отображения привязок сочетаний клавиш можно использовать свойство Bindings для задания или изменения привязок клавиш для команды Visual Studio. Обратите внимание, что при изменении привязки клавиш новая привязка заменяет предыдущую (старая привязка будет потеряна). При использовании новой привязки клавиш другой командой привязка также удаляется из старой команды и переназначается новой команде.

Однако существует способ сохранения привязки клавиш так, чтобы новая привязка клавиш не заменяла старую, а становилась дополнительным сочетанием клавиш. Этот метод описан в разделе Практическое руководство. Сохранение существующих привязок клавиш к командам.

ms228753.alert_note(ru-ru,VS.90).gifПримечание.

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

Процедура

Чтобы привязать команду к сочетанию клавиш

  1. Используйте Мастер надстроек Visual Studio для создания новой надстройки. Назовите проект и нажмите ОК для запуска мастера.

    Дополнительные сведения об использовании Мастера надстроек Visual Studio см. в разделе Практическое руководство. Создание надстройки.

  2. На странице Выбрать язык программирования выберите Создать надстройку, используя Visual C# для запуска следующего примера Visual C# или Создать надстройку, используя Visual Basic для запуска примера Visual Basic.

  3. Вставьте следующий пример функции в класс Connect кода, созданного Мастером надстроек Visual Studio.

  4. В левой области диалогового окна Параметры разверните папку Среда и выберите Клавиатура.

    Убедитесь, что имя VSK-файла, переименованного на шаге 7, появилось в раскрывающемся меню Применить следующую дополнительную схему назначений клавиш.

  5. Перед запуском примера надстройки убедитесь, что привязки к клавиатуре имеют значение(По умолчанию). Это можно сделать, щелкнув Сброс в панелиКлавиатура в диалоговом окне Параметры.

  6. Вызовите функцию из метода OnConnection, как описано в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

  7. Выполните построение надстройки.

  8. Чтобы запустить надстройку, в меню Сервис щелкните Диспетчер надстроек, выберите созданную надстройку и нажмите ОК.

    Команда привязана к одному глобальному сочетанию клавиш. Можно протестировать привязки к клавиатуре, нажав CTRL+SHIFT+ALT+X, в результате чего должно появиться диалоговое окно Создать файл.

Пример

В следующем примере надстройки демонстрируется привязка команды File.NewFile к одному сочетанию клавиш (F2).

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)
    BindingsExample(_applicationObject)
            
End Sub

Sub BindingsExample(ByVal dte As DTE2)
    Dim cmds As Commands
    Dim cmd As Command
    Try
        ' Set references to the Commands collection and the 
        ' File.NewFile command.
        cmds = DTE.Commands
        cmd = cmds.Item("File.NewFile")

        ' Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2"
        MsgBox("key remapped")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub
public void OnConnection(object application, ext_ConnectMode 
connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    BindingsExample(_applicationObject);

}

public void BindingsExample(DTE2 dte)
{
    Commands cmds;
    Command cmd;

    try
    {
        // Set references to the Commands collection and the 
        // File.NewFile command.
        cmds = dte.Commands;
        cmd = cmds.Item("File.NewFile", 1);

        // Assigns the command (File.NewFile) globally to the F2 key.
        cmd.Bindings = "Global::F2";
        System.Windows.Forms.MessageBox.Show("key remapped");
    }
    catch (Exception ex)
    {
        System.Windows.Forms.MessageBox.Show(ex.Message);
    }
}

См. также

Задачи

Практическое руководство. Привязка команды к нескольким сочетаниям клавиш

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

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

Формат параметров свойства привязки

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

Привязка команды управления надстройкой к клавишам