Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы привязать сочетание клавиш к пользовательской команде меню, просто добавьте запись в .vsct-файл, для пакета. В этом разделе объясняется, как сопоставить сочетание клавиш с пользовательской кнопкой, элементом меню или командой панели инструментов, а также как применить сопоставление клавиатуры в редакторе по умолчанию или ограничить его настраиваемым редактором.
Чтобы назначить сочетания клавиш существующим элементам меню Visual Studio, см. статью "Определение и настройка сочетаний клавиш".
Выбор сочетания клавиш
Многие сочетания клавиш уже используются в Visual Studio. Не следует назначать один и тот же ярлык нескольким командам, так как повторяющиеся привязки трудно обнаружить, а также может привести к непредсказуемым результатам. Поэтому рекомендуется проверить доступность ярлыка перед его назначением.
Проверка доступности сочетания клавиш
В окне "Параметры>инструментов>" выберите "Клавиатура".
Убедитесь, что параметр Использовать новое сочетание клавиш установлен на Глобальный.
В поле сочетания клавиш введите сочетание клавиш, которое вы хотите использовать.
Если ярлык уже используется в Visual Studio, ярлык, используемый в данный момент в поле, отобразит команду, которая в настоящее время вызывает ярлык.
Попробуйте использовать различные сочетания ключей, пока не найдите его, который не сопоставлен.
Замечание
Сочетания клавиш, использующие ALT , могут открывать меню и не выполнять команду напрямую. Поэтому ярлык, используемый в данный момент полем, может быть пустым при вводе ярлыка, включающего ALT. Вы можете убедиться, что ярлык не открывает меню, закрыв диалоговое окно "Параметры " и нажимая клавиши.
В следующей процедуре предполагаем, что у вас есть существующий VSPackage с командой меню. Если вам нужна помощь, ознакомьтесь со сведениями о создании расширения с помощью команды меню.
Назначение сочетания клавиш команд
Откройте файл .vsct для вашего пакета.
Создайте пустой
<KeyBindings>
раздел после того,<Commands>
как он еще не присутствует.Предупреждение
Дополнительные сведения о привязках ключей см. в разделе "Привязка ключей".
<KeyBindings>
В разделе создайте<KeyBinding>
запись.Установите атрибуты
guid
иid
в соответствии с командой, которую вы хотите вызвать.Задайте для атрибута
mod1
значение Control, ALT или SHIFT.Раздел KeyBindings должен выглядеть примерно так:
<KeyBindings> <KeyBinding guid="<name of command set>" id="<name of command id>" editor="guidVSStd97" key1="1" mod1="CONTROL"/> </KeyBindings>
Если для сочетания клавиш требуется более двух клавиш, задайте атрибуты
mod2
иkey2
.В большинстве случаев Shift не следует использовать без второго модификатора, так как нажатие клавиши Shift уже приводит к тому, что большинство буквенно-цифровых клавиш вводят прописную букву или символ.
Коды виртуальных ключей позволяют получить доступ к специальным ключам, которые не связаны с ними символами, например ключами функций и ключом Backspace . Дополнительные сведения см. в разделе "Коды виртуальных ключей".
Чтобы команда стала доступной в редакторе Visual Studio, установите атрибут
editor
вguidVSStd97
.Чтобы сделать команду доступной только в пользовательском редакторе, задайте
editor
атрибут имени пользовательского редактора, созданного шаблоном пакета Visual Studio при создании VSPackage, включающего пользовательский редактор. Чтобы найти значение имени, просмотрите раздел<Symbols>
для узла<GuidSymbol>
, атрибут которогоname
заканчивается на "editorfactory
". Это имя пользовательского редактора.
Пример 1
В этом примере сочетание клавиш CTRL+ALT+C связывается с командой, имя которой указано в cmdidMyCommand
, и находится в пакете, имя которого указано в MyPackage
.
<CommandTable>
. . .
<Commands>
. . .
</Commands>
<KeyBindings>
<KeyBinding guid="guidMyPackageCmdSet" id="cmdidMyCommand"
key1="C" mod1="CONTROL" mod2="ALT" editor="guidVSStd97" />
</KeyBindings>
. . .
</CommandTable>
Пример 2
В этом примере сочетание клавиш CTRL+B привязывается к команде с именем cmdidBold
проекта TestEditor
. Команда доступна только в пользовательском редакторе, а не в других редакторах.
<KeyBinding guid="guidTestEditorEditorFactory" id="cmdidBold" editor="guidVSStd97" key1="B" mod1="Control" />