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

Abh*_*eet 392 visual-studio-code

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

wgj*_*wgj 776

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

// Toggle between terminal and editor focus
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}
Run Code Online (Sandbox Code Playgroud)

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

  • 从编辑器打开keybindings.json:`CMD-SHIFT-P` - >`首选项:打开键盘快捷键文件`.也是一个很好的资源:https://code.visualstudio.com/docs/getstarted/keybindings (38认同)
  • 请注意,这些快捷方式应粘贴到`keybindings.json`文件中. (34认同)
  • 到目前为止,这是最符合人体工程学理由的解决方案的最佳答案:扩展现有的密钥绑定.奖励! (14认同)
  • 谢谢,这很好,节省了很多时间.对于国际键盘的用户:``ctrl + \```可以指定为`"ctrl + oem_3"`. (5认同)
  • @Roman 1.18.0的行为肯定是一个改进,因为我写了答案,但我认为上面的情况仍然更好.不同之处在于使用击键时终端不会消失,只有焦点会移动.我碰巧喜欢保持我的终端显示:) (5认同)
  • 这个答案就像 2 年前的答案:VS Code 的人,你们为什么还没有内置这个?;) (5认同)
  • 对于日语键盘,使用`"ctrl + shift + oem_3"`而不是``"ctrl +`"``可能很有用.`"ctrl + shift + oem_3"`表示``ctrl + shift + @"`,相当于日语键盘中的```ctrl +````. (2认同)
  • 对于土耳其语键盘``ctrl+oem_3``` (2认同)
  • 在终端焦点中按“ctrl+`”用于切换终端(面板)的可见性。修改后,您可以使用“ctrl+j”来执行此操作。 (2认同)
  • @LaMachine 还有一种方法来定义自定义快捷方式。如果您按 (cmd+s cmd+k),它将打开“键盘快捷键”页面。然后,如果您向上看,右上角会出现一个看起来像带有箭头的页面的图标。如果将鼠标悬停在它上面,它会显示“打开键盘快捷键 (JSON)”。单击该按钮,您将能够添加新的快捷方式或覆盖快捷方式,如此处所示。在 macOS 上,此文件位于“/Users/{user}/Library/Application Support/Code/User/keybindings.json”。不确定是否有其他操作系统 (2认同)
  • 如果还没有的话,这绝对应该是 VSCode 的默认行为...... (2认同)

Rah*_*kla 83

ctrl +`:专注于集成终端

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

在此处输入图片说明

  • ` 在任何键盘上的位置 (17认同)
  • 就在 esc 键下面:) (13认同)
  • 谢谢你。Ctrl + 1 是我需要的,因为在某些情况下, ctrl+` 将打开外部终端并且不能再次使用它来返回到 VSCode 编辑器 (10认同)
  • @surenderpal ctrl+'~' 创建新终端,它不会将焦点切换到现有终端。 (4认同)
  • Control +'〜'将在两者之间切换。我已经有一段时间了。 (2认同)

sch*_*udu 55

比赛有点晚了,但我在下面配置了以下内容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"
}
Run Code Online (Sandbox Code Playgroud)

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

  • 映射`alt + \``似乎是错误的 - 跟踪https://github.com/Microsoft/vscode/issues/41024#issuecomment-363096692 (4认同)
  • 我发现alt比ctrl更容易按,因此在我的配置中反之亦然。 (2认同)

小智 52

Ctrl+ J工作; 但也显示/隐藏控制台.

  • 在MacOS上为Cmd + J。 (3认同)
  • 您也可以对 cmd+j `{ "key": "cmd+j", "command": "workbench.action.terminal.focus"}, { "key": "cmd +j", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}` 这样我就不必将手离开主行。 (3认同)
  • 在 Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0 中无法工作 (2认同)
  • 不知道这个存在,否则我不会尝试上面的例子,这应该是公认的答案(MacOS 12.0.1) (2认同)

wis*_*cky 27

另一种选择是使用F6shift+F6

F6执行“聚焦下一部分”,这会将焦点从编辑器移动到下面的面板(终端、输出、调试控制台等)。

shift+F6执行“聚焦上一部分”,这会将焦点从终端面板移回编辑器。

与此相比的优点ctrl + `在于:

  1. 它不会隐藏终端/面板(如果您喜欢的话。如果您喜欢隐藏/取消隐藏终端,则只需使用ctrl + `)。

  2. 这适用于任何面板(终端、输出、调试控制台等)。


Shu*_*ain 20

从版本:1.26.1(linux)开始,默认情况下不设置快捷方式.设置快捷方式

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

在此输入图像描述

  1. 设置快捷方式

对于编辑器焦点已默认设置.

在此输入图像描述


Sam*_* Xu 18

我将我配置为以下因为我发现ctrl+ `有点难以按下.

{
  "key": "ctrl+k",
  "command": "workbench.action.focusActiveEditorGroup",
  "when": "terminalFocus"
},
{
  "key": "ctrl+j",
  "command": "workbench.action.terminal.focus",
  "when": "!terminalFocus"
}
Run Code Online (Sandbox Code Playgroud)

我还配置了以下内容在编辑器组之间移动.

{
  "key": "ctrl+h",
  "command": "workbench.action.focusPreviousGroup",
  "when": "!terminalFocus"
},
{
  "key": "ctrl+l",
  "command": "workbench.action.focusNextGroup",
  "when": "!terminalFocus"
}
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我从Mac 配置Caps Lockctrl了Mac System Preferences => keyboard =>Modifier Keys.


fel*_*gnu 11

通常,VS Code 用于ctrl+j打开终端,因此我创建了一个键绑定来切换ctrl+k组合,如下所示keybindings.json

[    
    {
        "key": "ctrl+k",
        "command": "workbench.action.terminal.focus"
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.focusActiveEditorGroup",
        "when": "terminalFocus"
    }
]
Run Code Online (Sandbox Code Playgroud)

  • 杰出的!这不仅应该是公认的答案,而且恕我直言,这也是 VSCode 的默认答案:) (3认同)

ale*_*edl 8

根据vscode键盘快捷键文档页面,切换集成终端的默认键绑定是"Ctrl +`" .如果你不喜欢这种快捷方式,你可以通过添加类似于以下内容的东西在你的keybindings文件中更改它:

{ "key": "ctrl+l", "command": "workbench.action.terminal.toggleTerminal" }
Run Code Online (Sandbox Code Playgroud)

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

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }
Run Code Online (Sandbox Code Playgroud)


Gau*_*ver 8

尝试使用ctrl +`来切换终端的可见性,从而切换焦点.


Mak*_*dyk 8

适用于我的 1.56 VS Code 的是:

Ctrl + ~     to focus on terminal window from editor
Ctrl + 9     to focus back on editor from terminal
Run Code Online (Sandbox Code Playgroud)


JSt*_*ahl 7

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

\n\n

我使用芬兰键盘,因此上述方法均无效,但这应该适用于所有键盘。

\n\n
    \n
  • 终端焦点:将鼠标悬停在集成终端中的终端文本上。将弹出用于关注终端的快捷方式 - 例如我的是 CTRL+\xc3\xb6。
  • \n
  • 编辑焦点:如上所述使用CTRL+1。
  • \n
\n


Jhe*_*uez 7

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

  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但您可以再次选择所需的组合

就是这样,我希望这有帮助


rob*_*ovg 6

这并不完全是所问的问题,但我发现它非常有用且相关。

如果有人想从一个终端切换到另一个终端也在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"
  },
Run Code Online (Sandbox Code Playgroud)


jim*_*jim 5

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

我映射 在此处输入图片说明

Ctrl+;

并重新映射 在此处输入图片说明

Ctrl+L

通过这种方式,您可以在终端和编辑器之间移动焦点,并在附近切换终端。


Zin*_*Aju 5

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

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

在此处输入图片说明

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

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


Nam*_*ain 5

100% 工作设置...

\n
    \n
  1. 打开命令面板(Ctrl+Shift+P Windows/Linux 或 \xe2\x87\xa7 \xe2\x8c\x98 P Mac)。

    \n
  2. \n
  3. 输入“首选项:打开键盘快捷键 (JSON)”并按 Enter。

    \n
  4. \n
  5. 将以下条目添加到 keybindings.json 文件中:

    \n
  6. \n
\n
[\n    { "key": "alt+right", "command": "workbench.action.terminal.focus"},\n    { "key": "alt+left", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}   \n]\n
Run Code Online (Sandbox Code Playgroud)\n
\n

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

\n
\n