Удалите привязку сочетания клавиш в Visual Studio с помощью макросов - PullRequest
4 голосов
/ 24 февраля 2010

У меня настроено множество пользовательских сочетаний клавиш. Чтобы избежать необходимости настраивать их каждый раз, когда я устанавливаю новую визуальную студию (это происходит довольно часто, когда VS2010 находится в бета-версии / RC), я создал макрос, который настраивает все мои пользовательские команды, например:

DTE.Commands.Item("ReSharper.ReSharper_UnitTest_RunSolution").Bindings = "Global::Ctrl+T, Ctrl+A"

Моя основная проблема заключается в том, что Ctrl + T настроен для сопоставления с командой transpose char по умолчанию. Поэтому я хочу удалить это значение по умолчанию в моем макросе.

Я пробовал следующие две строки, но обе выдают исключение

DTE.Commands.Item("Edit.CharTranspose").Bindings = ""
DTE.Commands.Item("Edit.CharTranspose").Bindings = Nothing

Хотя они вроде работают, потому что они фактически удаляют привязку;) Но я бы предпочел решение, которое не выдает исключение.

Как это сделать?

Ответы [ 3 ]

3 голосов
/ 20 апреля 2010

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

Dim NewBindings() = {"Global::Alt+="}
DTE.Commands.Item("Macros.Dev.AlignUtils.AlignEquals").Bindings = NewBindings
NewBindings(0) = "Global::Alt+Num -"
DTE.Commands.Item("Macros.Dev.AlignUtils.AlignMinus").Bindings = NewBindings
...

И для удаления привязок клавиш я использую следующие операторы:

Dim DelBindings() = {} 
DTE.Commands.Item("Macros.Dev.AlignUtils.AlignPlus").Bindings = DelBindings

Отлично работает под Visual Studio 2005.

2 голосов
/ 11 ноября 2013

Я пошел чуть более прагматично (на вашем примере):

DTE.Commands.Item("ReSharper.ReSharper_UnitTest_RunSolution").Bindings = "Global::Ctrl+T"
DTE.Commands.Item("ReSharper.ReSharper_UnitTest_RunSolution").Bindings = "Global::Ctrl+T, Ctrl+A"

При первом назначении Ctrl+T не назначается ни для одной другой функции и затем становится не связанным со вторым назначением.

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

0 голосов
/ 24 февраля 2010

Вам не нужно менять его с помощью макроса, просто перейдите на

Меню> Инструменты> Параметры - Клавиатура, затем выберите из раскрывающегося списка, что вы хотите изменить, и назначьте свой нужный ярлык

...