Я ищу способ для VS Code сообщить мне имя команды для привязки клавиш.
В Emacs эта функциональность доступна в describe-key
(C-h k
).
Например, в VS Code ⌘A отображается на editor.action.selectAll
. Так что в идеале я бы нажал сочетание клавиш, затем ⌘A, затем VS Code скажет мне editor.action.selectAll
.
В качестве частичного решения я могу открыть свой keybindings.json
и найти ⌘A, но это не работает для расширений. (Мой конкретный вариант использования - выяснить, как называется команда Vim o
, чтобы я мог ее переназначить.)
Я удаляю тег emacs, поскольку это вопрос редактора Microsoft VS Code. OP упоминает Emacs только для сравнения.
Вы можете найти команду, связанную с привязкой клавиш, введя привязку клавиш в поле поиска Keyboard Shortcuts
:
К сожалению, согласно исходному коду, расширение vim не использует этот механизм для привязки ключа o.
К счастью, это позволяет вам перепривязать ключи в настройках. Сначала откройте настройки (F1Preferences: Open Settings
), затем добавьте (например, для привязки i):
"vim.normalModeKeyBindingsNonRecursive": [
"before": ["i"],
"after": ["o"]
],
Если у вас есть новый интерфейс настроек, вам может потребоваться сначала найти vim.normalModeKeyBindingsNonRecursive
, а затем щелкнуть Edit in settings.json
.
Также см. stackoverflow.com/questions/46287561/… для улучшения поиска связанных нажатий клавиш и команд.
В выпуске за сентябрь 2018 г. VSCode может сделать это из окна сочетаний клавиш.
В окне сочетаний клавиш (cmd + k, cmd + s) введите cmd + option + k или щелкните значок клавиатуры справа.
Престижность этот комментарий за ссылку на этот подход в качестве ответа на другой вопрос.
Это повторяющийся ответ - см. Мой комментарий выше.
Извините, я хотел получить это в качестве ответа и не знал этикета в данном случае. Я могу удалить этот ответ, хотя считаю, что обновленный снимок экрана имеет ценность. Спасибо за ваши комментарии.
В вашем ответе я бы сделал две вещи: явным образом сослался на приведенный выше комментарий, а затем проголосовал за этот фактический ответ по прокомментированной ссылке, поскольку вы сочли ее полезной. Конечно, ни то, ни другое не требуется, я просто думаю, что это лучший способ справиться с этим.
Спасибо, что упомянули "C-h k", вот как я нашел этот вопрос ;-)