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


511

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


25
ctrl +'`将是最好的#-> Linux
muthukumar helius

13
ctrl +'`'也可以在OS X上使用,而无需任何其他键绑定。
nataliastanko

2
ctrl+'`'也可以在Windows上完美地工作!
Ehtesham Z

Answers:


980

尽管有很多用于VS Code的模式切换和导航快捷键,但没有一个专门用于“从编辑器移至终端,然后再次返回”的。但是,可以通过重载key和使用when 子句来组成两个步骤。

从编辑器中打开keybindings.json:CMD-SHIFT-P->首选项:打开键盘快捷方式文件并添加以下条目:

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

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


20
到目前为止,这是最符合人体工程学的最佳解决方案:扩展现有的键绑定。荣誉!
mloskot

7
谢谢,这很好,并节省了大量时间。对于国际键盘的用户:"ctrl+`"可以指定为"ctrl+oem_3"
esel 17-10-9

7
自从我写出答案以来,@ Roman 1.18.0的行为无疑是一种改进,但是我认为以上仍然更好。区别在于使用按键时终端不会消失,只有焦点会移动。我碰巧喜欢保持终端显示:)
wgj

37
请注意,这些快捷方式应粘贴到keybindings.json文件中。
pseudomarvin

41
从编辑器中打开keybindings.json:CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File。也是不错的资源:code.visualstudio.com/docs/getstarted/keybindings
derFunk

173

ctrl+`:专注于集成终端

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

在此处输入图片说明

更多信息:http : //www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html


4
到哪去了`任何键盘上🙄
伊渥克

6
在esc键正下方:)
Rahul Shukla

5
谢谢。Ctrl + 1是我需要的,因为在某些情况下,ctrl +`会打开外部终端,无法再次使用该终端返回VSCode编辑器
Thang Nguyen

2
最简单,最准确的答案恕我直言。
Tomas,

3
Control +'〜'将在两者之间切换。我已经有一段时间了。
投降朋友


54

游戏有点晚了,但是我在下面将我的配置如下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
我发现alt按起来比容易ctrl,所以在我的配置中,相反。
xji

尽管我选择保留原始绑定并alt用于切换焦点,但这是一个很好的建议。
杜哈特先生

@BenCreasy仅适用于macOS,在Windows上可以正常使用。
Kotauskas

24

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

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

在此处输入图片说明

  1. 设定捷径

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

在此处输入图片说明


由于它们提供了附加的键盘映射,因此此答案更简单,更快捷
LookAheadAtYourTypes

这将重点放在第一个编辑器组上-可能不是OP想要的。可能需要当前/活动的编辑器组。
马克

1
这是2020年的答案,以及所有> = 1.45.0的内容
chrismarx,

大。谢谢您的清晰说明。
Fiddy Bux

18

因为发现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"
}

顺便说一句,我配置Caps LockctrlMac上从System Preferences => keyboard =>Modifier Keys


8

根据vscode键盘快捷键说明文件页面,切换集成终端的默认键绑定为“ Ctrl +`” 。如果您不喜欢该快捷方式,则可以通过添加类似于以下内容的方式在键盘绑定文件中对其进行更改:

{ "key": "ctrl+l", "command": "workbench.action.terminal.toggleTerminal" }

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

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

很好,谢谢!我正在寻找您提到的第二个答案。如果有人想知道将键盘快捷键放回到编辑器上的快捷键,那么它是:Command + 1(在Mac上)
Abhijeet

我认为focusPanel是为广大区域(包括像“问题”,“输出”和“调试控制台”还有一个动作专门针对综合终端。workbench.action.terminal.focus
WGJ


3

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

如果有人想从一个终端更改为另一个终端,并且也在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"
  },

我希望它可以帮助其他人。


3

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

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

Ctrl+;

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

Ctrl+L

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


这为我解决了!键盘快捷键 -> 终端:焦点终端workbench.action.terminal.focus)->将键绑定更改为所需的组合。在vscode Insiders 1.43.0上运行
jeppoo1

2

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

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

0

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

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

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

-1

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


-1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.