OS X:在Visual Studio Code中循环浏览窗口

82

我在拼命尝试找出如何在Visual Studio Code中循环浏览窗口。在Finder中,有一个菜单项Cycle Through Windows,我经常使用它。然而,这似乎是Finder选项。因此,我查看了全局快捷键(因为该要求可能适用于许多应用程序),并将Move focus to next window分配给shift-cmd-F1。这在Finder和文本编辑器中有效,但在Visual Studio Code中无效。我检查了VSC中是否覆盖了按键绑定,但我认为没有。

有人解决了这个问题并能帮助我吗?

编辑:刚刚发现这是一个全局快捷键,位于系统设置>键盘>快捷方式>移动焦点到下一个窗口。不幸的是,Visual Code没有使用它。


按键绑定也会根据扩展和配置的不同而有所变化,比如 Vim 扩展。 - undefined
18个回答

100

我已经在keybindings.json中添加了以下快捷方式。

{
    "key": "alt+tab",
    "command": "workbench.action.quickSwitchWindow"
}

workbench.action.quickSwitchWindow正是我想要的,而且它没有启用默认的快捷键(至少在西班牙键盘上)。


5
非常棒,正是需要的,没有任何奇怪的三键快捷方式,例如在德国键盘上无法使用。 - Ilya Luzyanin
1
如果您的 MacOS 和 Windows 快捷键之间存在冲突,您可以在快捷键描述中添加 "when": "isMacNative"。 - John
1
如果您喜欢这个版本,下面有一个更好的版本:https://dev59.com/nVoU5IYBdhLWcg3wg3Oo#71830048 - MattG

70

所以,终于找到了解决方案:虽然由于某些原因,系统范围内的移动焦点到下一个窗口的快捷键不起作用,但还有另一个快捷键可以使用:shift+cmd+~ :)

在这里找到了它:https://support.apple.com/en-us/HT201236


使用非苹果键盘(Keychron K6)翻译为: shift+cmd+fn2+esc ...但是有效。 - elulcao
虽然你的快捷方式确实有效,但它不再在引用页面上列出。现在它被列为“Command–Grave accent (`)”,我猜这是之前那个的超集?它不再像维肯死亡之握那样强大,但我会接受它。 - undefined

66

在MacBook Pro上,我的命令⌘+`键正常工作。


太棒了,这正是我在寻找的。 - Sandip Subedi
非常感谢!在 OS X 11.2.3 上使用 Vscode 1.59.1 完美运行。 - pierresegonne
很遗憾,在Space中,它无法用于最大化的窗口 :( 但是有一个叫做Witch的应用程序可以让你做到这一点-https://manytricks.com/witch/ - er0
这适用于西班牙键盘或无法使用~但可以使用`的情况。 - user1228341
3
如果您的光标位于代码区域(或任何文本区域)中,则无法正常工作。它只会在光标所在位置键入反引号。 - Timothé Malahieude

47

您可以使用命令面板中的 切换窗口 (命令:workbench.action.switchWindow) 。默认快捷键是Ctrl+w

它会列出所有打开的窗口供您选择和前往。

它已经进一步得到了改进。了解更多


2
它关闭了我在 Mac 上的所有窗口。 - Laurence
@Laurence 在 Mac 上是 control + W - Çelebi Murat
如果这个答案关闭了你的一些窗口,你可以使用Ctrl+Shift+T重新打开它们 :) - Ali Sed

14

shift ⇧ + command ⌘ + ~ 对我有效,除非我处于全屏模式。或者在全屏下,您可以使用以下快捷键:shift ⇧ + command ⌘ + p,然后输入“切换窗口”。


13

最新版本的Visual Code(1.55.2)默认启用窗口切换功能。 热键是Control+W (⌃+W),这将弹出一个命令窗口供您选择要跳转的窗口。


10

似乎有很多方法可以循环窗口。我最终找到了适合我的方法:

shift + cmd + "{" or "}"

如果您进入应用程序中的“窗口”,您将看到“下一个文档”和“上一个文档”的菜单项。


1
在我的MacBook Pro中,它可以在同一个窗口中切换选项卡。对我来说,^w是有效的。 - Anushree Acharjee
这就是我一直在寻找的,选项卡切换器。 - Kent Bull

10

我个人更喜欢使用quickOpenRecent而不是quickSwitchWindow,因为它可以让我快速在最近使用的窗口和当前窗口之间切换(采用堆叠循环而不是顺序)。我将以下映射到alt+tab

{
  "key": "alt+tab",
  "command": "workbench.action.quickOpenRecent",
  "when": "!inRecentFilesPicker"
},
{
  "key": "alt+tab",
  "command": "workbench.action.quickOpenNavigateNextInRecentFilesPicker",
  "when": "inQuickOpen && inRecentFilesPicker"
},
{
  "key": "shift+alt+tab",
  "command": "workbench.action.quickOpenNavigatePreviousInRecentFilesPicker",
  "when": "inQuickOpen && inRecentFilesPicker"
}

1
这个很好地运作了。 - MattG
这太酷了。谢谢! - undefined
太喜欢了!非常感谢你。 - undefined

7

提供信息,Ubuntu(Gnome 3)的快捷键是alt + `,用于在visual studio code(或其他应用程序)窗口之间切换。


由于某些原因,它不是我的默认设置,但在我将其分配给workbench.action.quickSwitchWindow后就可以正常工作了。 - Pierre

5

要循环浏览同一桌面上的窗口,我使用:

shift + command + `

Mac OS 12.2、Azerty 和 VS Code 1.64.2。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接