有没有热键可以在分割窗格之间切换?

VisualStudio 代码有一个热键组合,可以将当前窗口分割为2个或3个窗格:

"key": "ctrl + \",               "command": "workbench.action.splitEditor"

不幸的是,如果没有鼠标,我无法找到在这些窗格之间切换的方法。我使用 F6的旧习惯也不起作用。

它在 VisualStudio 代码编辑器中是否受支持?

138708 次浏览

https://code.visualstudio.com/docs/customization/keybindings#_editorwindow-management

Windows: Ctrl + 1 Ctrl + 2 Ctrl + 3.

Mac: Cmd + 1 Cmd + 2 Cmd + 3.

窗格之间没有循环切换,类似于Ctrl+选项卡s对文件的切换。

使用F6在编辑器组之间循环

窗格之间有一个圆形开关。它叫做“编辑组之间的循环”。

开箱即用,它是未分配的。我们可以将它赋值给F6

  1. 打开Visual Studio代码。
  2. 进入文件>首选项>键盘快捷方式。
  3. 将以下条目添加到keybindings.json
  4. 您不必重新启动代码。它已经起作用了。

keybindings.json

// Place your key bindings in this file to overwrite the defaults
[
{
"key": "f6",
"command": "workbench.action.navigateEditorGroups"
}
]

另外

或者,使用开箱窗口管理热键。

  • Ctrl +1聚焦到左编辑组
  • Ctrl +2聚焦到Side Editor组
  • 聚焦到右编辑器组
  • 聚焦到左边的编辑器组
  • Ctrl+ K Ctrl+正确的聚焦到右边的编辑器组

对于Mac用户和最新的VS Code 1.17:

  1. 在窗格之间切换- Cmd+(1、2、3……),其中1,2,3是窗格号
  2. 在所有打开的文件之间循环:
  • forward - Cmd+转变+
  • backward - Cmd+转变+

如果你习惯了在vim(和/或tmux)中工作,并且想要使用ctrl+hjkl四处移动

将这些添加到keybindings.json

[
{
"key": "ctrl+h",
"command": "workbench.action.navigateLeft"
},
{
"key": "ctrl+l",
"command": "workbench.action.navigateRight"
},
{
"key": "ctrl+k",
"command": "workbench.action.navigateUp"
},
{
"key": "ctrl+j",
"command": "workbench.action.navigateDown"
}
]

Alt+Alt+在Windows上可以开箱即用。它只会在分屏窗格之间切换,不会重新激活窗格内的非活动文件。

是的,有一个热键之间切换分裂的“编辑器”窗口窗格,如果这是你的意思。

但它必须进行配置。这是因为允许循环编辑器窗格(又名编辑器组)的命令没有默认的键盘映射/绑定。打开“键盘快捷键”菜单选项,搜索workbench.action.navigateEditorGroups。单击+图标添加/分配键绑定。我将其映射为Alt+Q,因为在qwerty键盘上,“Q”就在Tab键旁边。考虑到Alt+Tab在打开的操作系统Windows中循环,这似乎是很自然的。

另一种方法是使用Ctrl + PageUp/PageDow在窗格之间切换。

你要找的是选项workbench.action.terminal.focusNextPane:

{
"key": "alt+down",
"command": "workbench.action.terminal.focusNextPane",
"when": "terminalFocus"
},
{
"key": "alt+right",
"command": "workbench.action.terminal.focusNextPane",
"when": "terminalFocus"
},

显然,最好的答案是顶部答案上的隐藏注释。不知道为什么没有答案:

CMD + SHIFT + [

而且

CMD + SHIFT + ]

我不确定为什么有人会使用cmd + 1或它的变体。

如果你指的是编辑组,这就是。

enter image description here

cmd + option + Left/Right Arrows适合我。

尝试Option+Tab按顺序切换,Cmd+按数字切换,shift+ Cmd+[(或])在跨编辑器的制表符之间切换

如果以上方法都不适合你,你只需要一个简单的ctrl-h绑定到左边的窗格,ctrl-l绑定到右边的窗格,那么这样做:

  1. 打开键盘快捷键(Ctrl-k, Ctrl-s)

  2. 执行搜索firststeditorgroup并将workbench.action.focusFirstEditorGroup的键绑定更改为ctr-h

  3. 再次搜索secondEditorGroup并将workbench.action.focusSecondEditorGroup的键绑定更改为ctr-h

如果您只有两个编辑器窗格,这是一个简单的设置。

在MacOS版本(1.54.3)上,命令View: Navigate Between Editor Groups对我有用。

键盘快捷键

默认情况下,Ctrl+选项卡在当前组中的编辑器之间循环,但不在组之间循环。我们可以简单地扩展默认快捷方式来获得我们想要的行为。VS Code用户指南告诉我们需要在keybindings.json中添加什么:

[
{
"key": "ctrl+tab",
"command": "workbench.action.quickOpenPreviousRecentlyUsedEditor",
"when": "!inEditorsPicker"
},
{
"key": "ctrl+shift+tab",
"command": "workbench.action.quickOpenLeastRecentlyUsedEditor",
"when": "!inEditorsPicker"
}
]

这将修改Ctrl+选项卡以循环遍历所有打开的编辑器,而不仅仅是当前组中的编辑器。

虽然它不能直接在组之间切换,但我更喜欢这个解决方案,因为它将两种类型的导航(在组之间移动,在编辑器之间移动)结合到一个简单的快捷方式中,并且已经在我的肌肉记忆中了。

我最近发现了这个键绑定,它可以在组中的分裂窗格之间切换焦点。

"workbench.action.focusOtherSideEditor"

在Mac:

Move Editor Left    ⌘K←     workbench.action.moveEditorLeftInGroup
Move Editor Right   ⌘K→     workbench.action.moveEditorRightInGroup

你要找的是: 查看:聚焦下一个编辑器组

我为这个快捷方式定义了ctrl + H ! 这是所有!< / p >

focus next editor group

此外,这个键绑定也可以:

workbench.action.navigateEditorGroups