在Visual Studio Code中切换编辑器和集成终端之间的焦点

时间:2017-03-14 21:29:53

标签: visual-studio-code

有没有人知道键盘快捷键(Mac和Linux)在Visual Studio Code中在编辑器和集成终端之间切换焦点。

20 个答案:

答案 0 :(得分:634)

虽然VS Code有很多模态切换和导航快捷方式,但没有一个专门用于“从编辑器移动到终端,然后再返回”。但是,您可以通过重载key并使用when clause来组成这两个步骤。

// Toggle between terminal and editor focus
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}

通过这些快捷方式,我将使用相同的按键在编辑器和集成终端之间进行聚焦。

答案 1 :(得分:47)

游戏稍晚,但我在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"
}

我想要单独的键来打开/关闭终端并在窗口之间来回切换焦点。

答案 2 :(得分:32)

Ctrl + J 有效;但也会显示/隐藏控制台。

答案 3 :(得分:17)

我将我配置为以下因为我发现 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"
}

顺便说一下,我在System Preferences => keyboard =>Modifier Keys的Mac上将 Caps Lock 配置为 ctrl

答案 4 :(得分:15)

ctrl +`:专注于集成终端

ctrl + 1 :专注于编辑器(如果editor-2命令为ctrl + 2)

enter image description here

答案 5 :(得分:15)

从版本1.26.1(Linux)开始,默认情况下未设置快捷方式。 设置快捷方式

  1. 打开键盘快捷键面板[ctrl + k,ctrl + s]
  2. 搜索焦点终端

enter image description here

  1. 设置快捷方式

默认情况下已设置了编辑器焦点。

enter image description here

答案 6 :(得分:8)

尝试使用 ctrl +`切换终端的可见性,并因此切换焦点。

答案 7 :(得分:7)

根据vscode键盘快捷键documentation页面,切换集成终端的默认键绑定是“Ctrl +`”。如果您不喜欢该快捷方式,可以通过添加类似于:

的内容在keybindings文件中更改它
{ "key": "ctrl+l", "command": "workbench.action.terminal.toggleTerminal" }

似乎没有简单的聚焦底部面板的默认键绑定。因此,如果您不想切换底部面板,则需要在keybindings文件中添加类似以下内容:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }

答案 8 :(得分:5)

嘿,我完成这项工作的步骤是:

  1. ctrl + shift+ p 并寻找 preferences: keyboard shortcuts

也可以直接用ctrl k + ctrl s打开

  1. 在搜索框中查找 Terminal: Focus Terminal,我为自己设置了 alt + T alt + T,但您可以选择您想要的组合

  2. 在搜索框中查找View: Focus Active Editor Group,为自己设置alt + E alt + E,但您可以再次选择您想要的组合

就是这样,希望对您有帮助

答案 9 :(得分:3)

这是一种添加自己的键绑定以切换焦点的方法。

  1. 打开你的 VSCode
  2. Ctrl+Shift+P 并搜索键盘快捷键并点击此按钮(首选项:打开键盘快捷键)。
  3. 在搜索面板中搜索“焦点终端”并找到此选项(终端:专注于终端视图)并点击加号图标。

enter image description here

  1. 根据需要输入未使用的快捷方式,然后按 Enter。
  2. 转到编辑器模式并尝试使用您的快捷方式。
  3. 现在点击 Alt+Shift+T 前往终端。
  4. 想回到编辑器吗?只需点击Ctrl+tab

使用 VSCode(1.52.1) 在 Windows 10 机器上测试

答案 10 :(得分:2)

通常,vs代码使用ctrl+j打开终端,所以我创建了一个键绑定以ctrl+k组合进行切换,如下所示:keybindings.json

[    
    {
        "key": "ctrl+k",
        "command": "workbench.action.terminal.focus"
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.focusActiveEditorGroup",
        "when": "terminalFocus"
    }
]

答案 11 :(得分:1)

不完全是什么问题,但我发现它非常有用且相关。

如果有人想从一个终端更改为另一个终端也在Visual Studio的集成终端面板中打开,则可以搜索:

Terminal: Focus Next Terminal

或添加以下快捷键,并使用键盘组合更快地完成。

  {
    "key": "alt+cmd+right",
    "command": "workbench.action.terminal.focusNext",
    "when": "terminalFocus"
  },
  {
    "key": "alt+cmd+left",
    "command": "workbench.action.terminal.focusPrevious",
    "when": "terminalFocus"
  },

我希望它可以帮助别人。

答案 12 :(得分:1)

Shubham Jain的答案现在是使用内置键盘快捷键的最佳选择。

我已映射 enter image description here

以Ctrl +;

并重新映射enter image description here

以Ctrl + L

这样,您可以在终端和编辑器之间移动焦点,并在所有终端之间切换终端。

答案 13 :(得分:1)

任何键盘布局的简单Windows解决方案(可能适用于其他操作系统,但未经测试)

我使用芬兰语键盘,因此上述方法均无效,但对所有键盘均适用。

  • 终端焦点:将鼠标悬停在集成终端中的终端文本上。将弹出聚焦于终端的快捷方式-例如我说的CTRL +ö。
  • 编辑器焦点:如上所述,使用CTRL + 1。

答案 14 :(得分:1)

实际上,在VS Code 1.48.1中,有一个toggleTerminal命令;我不知道它是否在以前的版本中可用;)您可以在keybindings.json文件中使用它。

这在Windows上对我有效,在Linux上也应适用。

{
    "key": "ctrl+alt+right",
    "command": "workbench.action.terminal.toggleTerminal",
    "when": "editorTextFocus || terminalFocus"
}

答案 15 :(得分:0)

这是我的方法,它提供了一种在活动终端之间导航以及在终端和编辑器窗格之间切换而不关闭终端视图的一致方式。您可以尝试将其直接添加到keybindings.json中,但我建议您通过键盘绑定UI(在Mac上为cmd+K cmd+S),以便查看/管理冲突等。

这样,我可以使用ctrl+x <arrow direction>导航到任何可见的编辑器或终端。将光标移到终端部分后,您可以使用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"
    },

答案 16 :(得分:0)

100% 工作设置...

[
    { "key": "alt+right", "command": "workbench.action.terminal.focus"},
    { "key": "alt+left", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}   
]
<块引用>

workbench.action.terminal.focus从编辑器切换到 workbench.action.focusActiveEditorGroup切换 从终端到编辑器。

答案 17 :(得分:0)

对于 ctrl+` 组合来切换,我尝试了所有列出的答案,但没有运气。对于那些与我有类似问题的人,请在 keybindings.json 中尝试以下快捷方式:在 VSCode 1.59+ 上测试

[
{
    "key": "ctrl+oem_8","command": "workbench.action.terminal.focus", "when": "!terminalFocus"
},
{
    "key": "ctrl+oem_8","command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"
}
]

enter image description here

答案 18 :(得分:-1)

我通过设置>键盘快捷方式,然后在该部分提供了搜索栏类型的焦点终端并选择该选项的方式进行了此操作。它将要求键入您要为此操作设置的组合。做吧。至于编辑器焦点,请在搜索栏中键入“编辑器焦点”,然后键入所需的键。如果您出色地添加了一个密钥。可以通过编辑上述评论中的jason来删除它

答案 19 :(得分:-1)

control +'〜'将在两者之间切换。并且`”位于选项卡按钮上方。