有人知道在Visual Studio Code中切换编辑器和集成终端的快捷键(Mac和Linux)吗?
当前回答
使用keybindings.json中的键绑定:
CTRL+j和CTRL+k将焦点在编辑器组中的编辑器和终端中的终端窗口之间转移 CTRL+h和CTRL+l在包括终端在内的编辑器组之间转移焦点
(这些键绑定对vim用户来说应该特别自然。其他人可能希望把h/j/k/l换成左/下/上/右)
// In an editor group, ctrl+j and ctrl+k jump between editor windows
{ "key": "ctrl+j", "command": "workbench.action.nextEditorInGroup" },
{ "key": "ctrl+k", "command": "workbench.action.previousEditorInGroup" },
// In the terminal, ctrl+j and ctrl+k jump between terminal windows
{
"key": "ctrl+j",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus"
},
{
"key": "ctrl+k",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus && terminalHasBeenCreated && !terminalEditorFocus || terminalFocus && terminalProcessSupported && !terminalEditorFocus"
},
// In the work area, ctrl+j and ctrl+k jump between editor groups
{ "key": "ctrl+h", "command": "workbench.action.focusPreviousGroup" },
{ "key": "ctrl+l", "command": "workbench.action.focusNextGroup" },
// in the first editor group terminal, jump "back" to the terminal (if there is a terminal open)
{
"key": "ctrl+h",
"when": " terminalHasBeenCreated && terminalIsOpen && activeEditorGroupIndex == 1",
"command": "workbench.action.terminal.focus"
},
// in the last editor group terminal, jump "forward" to the terminal (if there is a terminal open)
{
"key": "ctrl+l",
"when": "terminalHasBeenCreated && terminalIsOpen && activeEditorGroupLast",
"command": "workbench.action.terminal.focus"
},
// in the terminal, jump "back" to the last editor group
{
"key": "ctrl+h",
"command": "workbench.action.focusLastEditorGroup",
"when": "terminalFocus"
},
// in the terminal, jump "forward" to the last first group
{
"key": "ctrl+l",
"command": "workbench.action.focusFirstEditorGroup",
"when": "terminalFocus"
},
其他回答
我把我的配置如下,因为我发现ctrl+ '有点难按。
{
"key": "ctrl+k",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "ctrl+j",
"command": "workbench.action.terminal.focus",
"when": "!terminalFocus"
}
我还配置了以下内容,以便在编辑器组之间移动。
{
"key": "ctrl+h",
"command": "workbench.action.focusPreviousGroup",
"when": "!terminalFocus"
},
{
"key": "ctrl+l",
"command": "workbench.action.focusNextGroup",
"when": "!terminalFocus"
}
顺便说一下,我在Mac上从系统首选项=>键盘=>修改器键配置了Caps Lock。
有点晚了,但我在keybindings.json中配置了我的如下:
{
"key": "ctrl+`",
"command": "workbench.action.terminal.focus",
"when": "editorTextFocus"
},
{
"key": "ctrl+`",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
{
"key": "alt+`",
"command": "workbench.action.terminal.toggleTerminal"
}
我想要单独的键来打开/关闭终端和在窗口之间来回切换焦点。
虽然VS Code有很多模式切换和导航快捷方式,但没有一个专门用于“从编辑器移动到终端,然后再返回”。但是,您可以通过重载键和使用when子句来组合这两个步骤。
解决方案
您可以通过向键绑定添加适当的设置来实现所需的效果。json文件。以下是必需的步骤:
打开命令面板(Ctrl+Shift+P Windows/Linux或⇧⌘P Mac)。 输入“首选项:打开键盘快捷键(JSON)”并按Enter。 将以下条目添加到键绑定中。json文件:
// Toggle between terminal and editor focus
{
"key": "ctrl+`",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+`",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
}
使用这些快捷键,您可以使用相同的击键在编辑器和集成终端之间集中注意力。
NOTE
这里建议的组合键现在作为默认值内置到VSCode中(从1.72.2开始,可能更早)。在尝试添加它之前,看看ctrl + '是否有效。
NOTE
在现代版本的VS Code(截至2022年)中,默认键盘快捷键(JSON)文件是只读的,所以这就是为什么对于自定义设置,你需要编辑一个单独的专用文件keybindings.json。
更多信息可以在Visual Studio官方文档页面上找到:
Visual Studio Code的键绑定:高级定制
Control + '~'将用于在两者之间切换。' "就在标签按钮的上方。 这个快捷方式只能在mac中使用。
ctrl+ ':专注于集成终端
ctrl+1:聚焦编辑器(如果Editor -2命令是ctrl+2)
更多信息:https://medium.com/p/21969576c09c
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- Visual Studio代码-在文件末尾插入换行符
- 如何重新启动VScode编辑扩展的配置?
- Visual Studio代码PHP Intelephense保持显示不必要的错误
- 如何添加一个@顺风CSS规则CSS检查
- 我如何打开Visual Studio Code的设置。json文件?
- 在Visual Studio代码中运行的Angular应用程序中,TSLint扩展抛出错误
- 在Visual Studio代码编辑器中使用哪种字体以及如何更改字体?
- 如何设置Visual Studio代码来编译c++代码?
- 如何从Visual Studio代码中执行Python代码
- 如何在visual studio代码切换文本情况
- Visual Studio代码回滚缓冲区
- 'TypeError [ERR_INVALID_ARG_TYPE]: "path"参数必须是字符串类型。接收类型未定义'
- 我如何按住一个键并让它在VSCode中重复?
- 在Visual Studio Code中安装Nuget包