VS Code:如何在编辑器终端与最近非终端编辑器间切换?
VS Code编辑器终端与最近非终端编辑器切换方案
问题分析
原快捷键配置在使用编辑器终端时失效,因为VS Code将编辑器终端归类为编辑器组的一部分,workbench.action.focusActiveEditorGroup会直接聚焦终端本身;而workbench.action.focusPreviousGroup仅在两个编辑器组时有效,多组场景下会跳转到错误的编辑器组。
有效配置方案
使用以下快捷键配置,结合VS Code内置命令和上下文判断,实现精准切换:
[ { "key": "f1", "command": "workbench.action.terminal.focusEditor", "when": "!terminalFocus" }, { "key": "f1", "command": "workbench.action.focusLastEditorInGroup", "when": "terminalFocus && editorLangId == 'terminal'" } ]
配置说明
- 第一条规则:当当前焦点不在终端时,按下
F1会直接聚焦编辑器区域内的终端。 - 第二条规则:当终端处于焦点且当前激活的编辑器是终端时,按下
F1会聚焦当前编辑器组内最近打开的非终端编辑器,不会跨组跳转,适配多编辑器组场景。
内容的提问来源于stack exchange,提问作者Ralf_Reddings
相关产品推荐
相关产品推荐

