繁体   English   中英

是否有在拆分 window 窗格之间切换的热键?

[英]Is there a hotkey to switch between split window panes?

Visual Studio Code 有一个热键组合,可将当前 window 拆分为 2 或 3 个窗格:

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

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

Visual Studio Code 编辑器是否支持它?

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

对于 Windows: Ctrl + 1Ctrl + 2Ctrl + 3

对于 Mac: Cmd + 1Cmd + 2Cmd + 3

不过,窗格之间没有循环切换,类似于Ctrl + tab s 对文件所做的操作。

如果您习惯使用 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"
    }
]

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

窗格之间有一个循环切换。 它被称为“编辑组之间的循环”。

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

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

键绑定.json

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

或者

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

  • Ctrl + 1聚焦到左编辑器组
  • Ctrl + 2聚焦到侧面编辑器组
  • Ctrl + 3聚焦到右编辑器组
  • Ctrl + K Ctrl + Left焦点进入左侧的编辑器组
  • Ctrl + K Ctrl + Right聚焦到右侧的编辑器组

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

  1. 在窗格之间切换 - Cmd + [1,2,3...] ,其中1,2,3是窗格编号
  2. 在所有打开的文件之间循环:
  • 前进 - Cmd + Shift + ]
  • 向后 - Cmd + Shift + [

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

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

如果您的意思是编辑组,就是这里。

在此处输入图像描述

您正在寻找的是选项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或其变体。

是的,有一个热键可以在拆分的“编辑器”窗格之间切换,如果这就是你的意思的话。

虽然它必须配置。 这是因为允许通过编辑器窗格(又名编辑器组)循环的命令没有默认的键盘映射/绑定。 打开“键盘快捷键”菜单选项并搜索 workbench.action.navigateEditorGroups 。 单击 + 图标以添加/分配键绑定。 我将它映射到 Alt+Q,因为在 qwerty 键盘上,'q' 就在 Tab 键旁边。 鉴于 Alt+Tab 循环通过打开的操作系统 Windows,在那里看起来很自然。

cmd + option + Left/Right Arrows对我有用。

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

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

这将修改Ctrl + Tab以循环浏览所有打开的编辑器,而不仅仅是当前组中的那些。

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

尝试 Option+Tab 用于顺序切换,Cmd+ 用于按数字切换, shift+cmd+[(或 ])在编辑器之间的选项卡之间切换

如果上述方法都不适合您,并且您只需要一个简单的ctrl-h绑定到左窗格并ctrl-l绑定到右窗格,请执行以下操作:

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

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

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

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

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

键盘快捷键

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

"workbench.action.focusOtherSideEditor"

在 Mac 上:

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

你要找的是: view: focus next editor group

我为这个快捷方式定义了ctrl+H 就这样!

关注下一个编辑组

此外,此键绑定也有效:

workbench.action.navigateEditorGroups

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM