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


Command.Bindings - свойство

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

Задает или возвращает список нажатых для вызова команды клавиш.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
Property Bindings As Object
'Применение
Dim instance As Command
Dim value As Object

value = instance.Bindings

instance.Bindings = value
Object Bindings { get; set; }
property Object^ Bindings {
    Object^ get ();
    void set (Object^ value);
}
function get Bindings () : Object
function set Bindings (value : Object)

Значение свойства

Тип: System.Object
Коллекция SafeArray объектов.

Заметки

Bindings задает или возвращает массив объектов SafeArray, содержащий строки с описанием всех сочетаний клавиш для указанной команды. Сочетания для команды можно добавлять, добавляя их в массив SafeArray и затем настраивая их на команду. Удалять сочетания для команды можно, удаляя их из массива SafeArray и затем настраивая команду на работу без сочетания клавиш.

Есть два варианта синтаксиса строки (при этом элемент "модификаторы+" необязателен):

  • "scopename::модификаторы+клавиша"

  • "scopename::модификаторы+клавиша, модификаторы+клавиша"

Существуют модификаторы "ctrl+", "alt+", и "shift+". Они могут использоваться в любом порядке. Первый модификатор или спецификатор клавиши следует непосредственно за двойным двоеточием ("::"). После любой разделяющей запятой в последовательности клавиш должен идти один пробел.

Всегда сообщается смешанный регистр, например "Ctrl+Space", но при добавлении новых сочетаний можно использовать любое сочетание регистров.

В строке сочетания клавиш пробелы обрабатываются как литералы. Для таких знаков, как пробелы, знаки табуляции и так далее, не существует escape-последовательностей. Несколько примеров параметров сочетаний клавиш:

  • "Text Editor::ctrl+r, ctrl+r"

  • "Global::ctrl+o"

  • "Global::f2"

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

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

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

Примеры

' Macro code.
Sub BindingsExample()
    Dim cmds As Commands
    Dim cmd As Command
    Dim props As EnvDTE.Properties = DTE.Properties("Environment", _
    "Keyboard")
    Dim prop As EnvDTE.Property

    ' 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.
    ' Because you cannot programmatically change the default keyboard 
    ' mapping scheme settings, you must first make a copy of the 
    ' Default Settings for the Keyboard Mapping Scheme.
    prop = props.Item("Scheme")
    ' Sets the Scheme property value to a new keyboard scheme.
    ' This saves the old keyboard mapping scheme and allows you 
    ' to add new key mappings.
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    prop.Value = "C:\Documents and Settings\johndoe\Application _
    Data\Microsoft\VisualStudio\8.0\MyNewKbdScheme.vsk"
    MsgBox("PROP NAME: " & prop.Name & "   VALUE: " & prop.Value)
    cmd.Bindings = "Global::f2"
End Sub

Разрешения

См. также

Ссылки

Command Интерфейс

Command - члены

EnvDTE - пространство имен

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

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