我试图将vscode命令workbench.action.navigateLeft
和workbench.action.navigateRight
分别映射到alt+i
和alt+o
。通过对keybindings.json
进行以下更改,这非常简单:
{
"key": "alt+o",
"command": "workbench.action.navigateRight"
},
{
"key": "alt+i",
"command": "workbench.action.navigateLeft"
},
当我在编辑器的上下文中,这工作完美,但不工作时,我的重点是集成终端。我在settings.json
中添加了这两个命令到terminal.integrated.commandsToSkipShell
,但似乎没有效果。当我在集成终端内按alt+i
或alt+o
时,没有任何反应。
"terminal.integrated.commandsToSkipShell": [
"workbench.action.navigateLeft",
"workbench.action.navigateRight"
]
我在linux系统上使用bash作为我的shell。似乎bash在vscode有机会解释它们之前捕获了我的击键,但我不知道如何验证是否发生了这种情况,或者如果发生了,如何更改它。如有任何帮助,不胜感激。
问题最终是在我的settings.json
文件中的不同设置。我把terminal.integrated.sendKeyBindingsToShell
设置为true
,它在vscode接收到一些命令之前拦截它们。
考虑到该设置的描述,这是有意义的。将此值设置为false
(或从我的settings.json
文件中删除,因为默认值是false
)会使我的键绑定按预期工作。