在编辑器和集成终端之间切换焦点

1134

有人知道在Visual Studio Code中,Mac和Linux系统下在编辑器和集成终端之间切换焦点的键盘快捷键吗?


78
"ctrl" + "`"将是最好的"#->Linux"。 (说明:该句话并不完整,缺少上下文信息可能会影响准确性。) - muthukumar selvaraj
47
在OS X系统中,按下ctrl + '`'键也可以使用,无需进行任何额外的键绑定。 - nataliastanko
19
ctrl + ' ` ' 也能在Windows上完美运行! - Ehtesham Z
15
CTRL+```的问题在于即使已经存在一个终端,它也会创建一个新的终端。 - Guss
12
不再是@Guss(v1.55.0) - danno
显示剩余4条评论
28个回答

3
这是我的方法,提供了一种在活动终端之间导航以及在终端和编辑器窗格之间跳转的一致方式,而不关闭终端视图。您可以直接将其添加到keybindings.json中,但我建议您通过按键绑定UI(在Mac上为cmd+K cmd+S)进行查看/管理冲突等操作。
有了这个方法,我可以使用ctrl+x <箭头方向>来导航到任何可见的编辑器或终端。一旦光标位于终端部分,您就可以使用ctrl+x ctrl+upctrl+x ctrl+down来循环遍历活动终端。 cmd-J仍然用于隐藏/显示终端窗格。
    {
        "key": "ctrl+x right",
        "command": "workbench.action.terminal.focusNextPane",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x left",
        "command": "workbench.action.terminal.focusPreviousPane",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x ctrl+down",
        "command": "workbench.action.terminal.focusNext",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x ctrl+up",
        "command": "workbench.action.terminal.focusPrevious",
        "when": "terminalFocus"
    },
    {
        "key": "ctrl+x up",
        "command": "workbench.action.navigateUp"
    },
    {
        "key": "ctrl+x down",
        "command": "workbench.action.navigateDown"
    },
    {
        "key": "ctrl+x left",
        "command": "workbench.action.navigateLeft",
        "when": "!terminalFocus"
    },
    {
        "key": "ctrl+x right",
        "command": "workbench.action.navigateRight",
        "when": "!terminalFocus"
    },

2

我的解决方案:

  • 只有一个关键点
  • 如果还没有终端:打开一个终端并将焦点放在它上面
  • 如果焦点在终端上:隐藏面板并切换回编辑器
  • 如果焦点在编辑器上且有终端:显示终端面板并将焦点放在它上面
  {
    "key": "ctrl+shift+alt+cmd+t",
    "command": "workbench.action.terminal.new",
    "when": "!terminalIsOpen"
  },
  {
    "key": "ctrl+shift+alt+cmd+t",
    "command": "terminal.focus",
    "when": "terminalIsOpen && !terminalFocus"
  },
  {
    "key": "ctrl+shift+alt+cmd+t",
    "command": "workbench.action.closePanel",
    "when": "terminalIsOpen && terminalFocus"
  }

非常好,谢谢 - 对我来说没有“alt” - 但它不会在“聚焦树路径”上打开 - Q)有什么想法如何做到这一点吗? - Bruno
如果您不需要“alt”,我怀疑您使用的是非macOS计算机。当然,这对解决方案并不重要。OP没有要求在“focused tree path”上打开。我看到两个挑战。1)命令不带参数。2)打开的正确路径是什么?也许可以查看VSCode的预定义变量Multi-Command扩展。如果您成功了,请告诉我一声? - Niels Bom
我正在使用 #macos :-) - 你知道我已经聚焦了一些树形项目,我用箭头选择它们 - 然后按“enter”进行重命名 - “cmd + arrow down”是打开 - 但我缺少的是“在终端中打开该路径”,这样我就可以为该文件运行命令。 - Bruno

0

我是通过进入设置>键盘快捷方式,然后在给出搜索栏的部分中输入“聚焦终端”并选择选项来完成此操作的。它会要求您输入要为此操作设置的组合键。进行操作。至于编辑器焦点,请在搜索栏中输入“编辑器焦点”并输入您想要的键。如果您优秀地添加了一个键,可以按照上面的评论所述进入编辑jason删除它。


0

按下 control + '~' 可以在两者之间切换。'`' 按键位于 Tab 键上方。 这个快捷键只在 Mac 上有效。


0

快捷键会根据键盘布局的不同而改变(QWERTY/QWERTZ/AZERTA等)。

要查找您的快捷键,请按Ctrl+Shift+P并转到“首选项:键盘快捷方式”。

从那里搜索“视图:切换终端”。

final result


0
如果您在终端中,则使用 Ctrl +'(单引号)隐藏终端并跳回代码编辑器。再次按下 Ctrl +'以打开终端,该终端会自动获得焦点。

0
截至2023年(VS code 1.83.1版本),来回切换变得更加容易。
使用“Ctrl+'”切换到终端。再次按下“Ctrl+'”将关闭终端窗口返回到编辑器。再次切换时,终端不会重新启动。
您可以在不关闭终端窗口的情况下来回切换,但是: 按下“Ctrl+'”进入终端。按下“Ctrl+1”返回编辑器。

-1

ctrl + - 也可以,它的意思是返回上一个光标位置


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接