Как создать макрос Visual Studio для изменения раскладки клавиатуры? - PullRequest
0 голосов
/ 25 февраля 2011

Можно ли создать макрос Visual Studio (2010) для изменения раскладки клавиатуры?

Я нахожу ошибку «копировать и вставлять из других приложений» в режиме эмуляции Emacs немного раздражающей, поэтому я хотел создать два простых макроса - один для установки раскладки клавиатуры на раскладку клавиатуры Emacs, а другой для переключения макет с настройками по умолчанию (я уверен, что будет простой способ объединить их в «переключение между двумя», но я хотел начать с простого).

Не слишком разбираясь в макросах VS, я подумал, что могу просто использовать методологию разработки «хит и клик вокруг».

К сожалению, нажатие на запись и нажатие «Tools> Options», затем «Keyboard», затем нажатие со списком макета и выбором «Emacs» приводит к следующей строке кода:

DTE.ExecuteCommand("Tools.CustomizeKeyboard")

Более того, ExecuteCommand, похоже, ждет, пока пользователь закроет окно, прежде чем продолжить выполнение макроса, поэтому я не могу сразу увидеть, как сказать Visual Studio «щелкнуть по списку, выбрать элемент FizzBot» и т. Д.

Можно ли это сделать? Если да, то как?

Заранее спасибо.

1 Ответ

2 голосов
/ 14 марта 2011

Макросы:

Sub SetDefaultKeyboard()
    DTE.Properties("Environment", "Keyboard").Item("SchemeName").Value = "(Default)"
End Sub

Sub SetEmacsKeyboard()
    ' change "Emacs" to actual keyboard layout name
    DTE.Properties("Environment", "Keyboard").Item("SchemeName").Value = "Emacs"
End Sub

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

...