Я учусь запускать Rmd с использованием кода VS. Я настроил, и все фрагменты кода работают, но я просто не могу понять сочетания клавиш: Я использую этот ярлык для запуска выбранного слова (например, имени набора данных). Но у меня это не работает, при нажатии ctrl+sht+enter ничего не запускается. но Ctrl+Enter работает - выполняется весь фрагмент кода. Таким образом, проблема не в самом куске кода, а в ярлыке
Что мне действительно нужно, так это иметь ярлык, который будет запускать строку или выделение там, где находится мой курсор.
вывод из Developer: Toggle Keyboard Shortcuts Troubleshooting
2024-04-22 12:23:49.952 [info] Started local extension host with pid 18060.
2024-04-22 12:23:50.508 [warning] [REditorSupport.r]: Cannot register 'r.rpath.windows'. This property is already registered.
2024-04-22 12:23:50.509 [warning] [REditorSupport.r]: Cannot register 'r.rpath.mac'. This property is already registered.
2024-04-22 12:23:50.509 [warning] [REditorSupport.r]: Cannot register 'r.rpath.linux'. This property is already registered.
2024-04-22 12:23:54.704 [info] [perf] Render performance baseline is 52ms
2024-04-22 12:29:16.830 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-04-22 12:29:16.831 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
2024-04-22 12:29:16.831 [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
2024-04-22 12:29:16.832 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
2024-04-22 12:29:16.832 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2024-04-22 12:29:17.222 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-04-22 12:29:17.223 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
2024-04-22 12:29:17.223 [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 16, key: Shift
2024-04-22 12:29:17.223 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 4 ('Shift')
2024-04-22 12:29:17.223 [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase.
2024-04-22 12:29:17.452 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-04-22 12:29:17.452 [info] [KeybindingService]: | Resolving ctrl+shift+Enter
2024-04-22 12:29:17.452 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.
2024-04-22 12:29:17.453 [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: Enter, keyCode: 13, key: Enter
2024-04-22 12:29:17.453 [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: Enter, keyCode: 3 ('Enter')
2024-04-22 12:29:17.453 [info] [KeybindingService]: | Resolving ctrl+shift+Enter
2024-04-22 12:29:17.453 [info] [KeybindingService]: \ From 1 keybinding entries, no when clauses matched the context.
2024-04-22 12:29:17.969 [info] [KeybindingService]: + Ignoring single modifier ctrl due to it being pressed together with other keys.
2024-04-22 12:29:56.956 [info] [KeybindingService]: / Soft dispatching keyboard event
2024-04-22 12:29:56.956 [info] [KeybindingService]: \ Keyboard event cannot be dispatched
а затем из Developer: Inspect Key Mappings
Default Resolved Keybindings (unique only):
...
ctrl+shift+Enter => ctrl+shift+Enter
...
User Resolved Keybindings (unique only):
ctrl+enter => ctrl+Enter
ctrl+shift+enter => ctrl+shift+Enter
JSON привязки клавиш следующий
{
"key": "ctrl+shift+enter",
"command": "r.runSelection",
"when": "editorTextFocus && editorLangId == 'r'"
}
Вот что я вижу, когда проверяю контекстные ключи и использую привязку клавиш в своем файле RMD:
Ключевая часть сообщения — «нет, когда предложения соответствуют контексту». щелкните правой кнопкой мыши привязку клавиш в пользовательском интерфейсе привязки клавиш, скопируйте ее как JSON и вставьте JSON привязки клавиш в сообщение с вопросом. Вы также можете проверить контекстные клавиши- узнать, каковы значения связанных контекстных клавиш при вызове привязки клавиш.
@user- огромное спасибо! это сработало, что, если я хочу иметь этот ключ и для «r», и для «rmd»?
Если вы используете REditorSupport.r , то вместо этого вы, вероятно, захотите использовать editorLangId == 'rmd'
. Соответствующий исходный код находится в манифесте расширения. Если вам нужна привязка клавиш для файлов R и Rmd, используйте (editorLangId == 'r' || editorLangId == 'rmd')
.
Что вы видите, когда устраняете неполадки с сочетаниями клавиш? Вставьте соответствующие части того, что вы видите, в блок кода в сообщении с вопросом. Включите также верхнюю часть файла, открываемую с помощью
Developer: Inspect Key Mappings
в палитре команд, и весь следующий текст, связанный с интересующими ключами.