Сконфигурируйте несколько команд с помощью комбинации клавиш

В Visual Studio Code, File > Preferences > Keyboard Меню ярлыков, я могу переопределить привязки по умолчанию в keybindings.json. Но как я могу добавить несколько привязок к ключу? Я не хочу делать что-то вроде сохранения или форматирования кода при нажатии ctrl+s

{ "key": "ctrl+s","command": "workbench.action.files.save,editor.action.format" }

Это выполнимо?


person Pawan    schedule 16.09.2016    source источник


Ответы (2)


Насколько мне известно, в настоящее время это невозможно, поскольку первое сочетание клавиш, которое соответствует победе (поиск снизу вверх), и никакие другие сочетания клавиш не оцениваются - из docs:

Когда нажата клавиша:

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

Тем не менее, похоже, что у кого-то было такое же желание и он написал для этого расширение - см. gyuha.format-on-save
Однако я сам не тестировал это расширение, поэтому не могу сказать, насколько хорошо оно работает.

person DAXaholic    schedule 16.09.2016
comment
Следует отметить, что команды могут быть контекстно-зависимыми (см. Предложение when) - в таблице клавиш по умолчанию обратите внимание, что ключи привязываются несколько раз в зависимости от контекста. Но верно, что в настоящее время сопоставление клавиш может запускать только одну команду. - person Bill_Stewart; 17.09.2016
comment
Да when упоминается в правилах выше the first rule that matches, both the key and in terms of when, is accepted - person DAXaholic; 17.09.2016
comment
Ссылка на это расширение мертва. Я нашел еще один формат при сохранении на торговой площадке, и кажется, что тот, который вы нашли, теперь размещен на GitHub. Как и вы, я их не тестировал. - person Fabio says Reinstate Monica; 02.02.2018

Используйте предложение when, как показано здесь, где я подключаю ctrl + enter только к случаю, когда активно расширение редактора скриптов .py [thon], которое похоже на файл ctrl + enter | предпочтения | сочетания клавиш, разрешенные расширением редактора сценариев .R.

[    
    {
        "key": "ctrl+enter",
        "command": "python.execSelectionInTerminal",
        "when": "editorTextFocus && editorLangId == 'python'"
    }
]
person myusrn    schedule 19.02.2018