在 VS Code 中的全屏编辑器和终端之间切换

Toggle between fullscreen editor and terminal in VS Code

作为 Windows 系统管理员,我经常使用 PowerShell。随着 PS Core 的发布,以及 ISE 已死的暗示,我开始尝试使用 VS Code 作为我的日常工具。 ISE 缺少的一项功能是能够在全屏模式下在编辑器和终端之间切换。我通常保持 ISE 打开并最大化,并根据需要使用 Ctrl+R 在编辑器和终端之间切换。我还没有找到最大化终端并在终端和编辑器之间轻松切换的方法。我知道我可以让终端占据大部分屏幕,但是 a) 这仍然在顶部留下大约 2 行编辑器打开,并且 b) 似乎没有一种简单的方法可以然后最大化编辑器。有没有一种方法可以减少我尚未发现的 ISE 行为?

要在全屏编辑器和接近全屏的终端之间切换,您可以使用:

{
    "key": "ctrl+alt+m",
    "command": "workbench.action.toggleMaximizedPanel"
}

用您选择的键绑定替换 Ctrl-Alt-m :那个是我的。您只需要先“最大化”终端 - 将其拉到最远。它会在会话之间记住这一点。


重温此

从 v1.38 开始,这变得非常简单。有两个命令可以将 panel/editors 切换到全屏。

选择一些用于切换触发器的键绑定:

{
    "key": "ctrl+alt+q",
    "command": "workbench.action.toggleMaximizedPanel",
    // "command": "workbench.action.toggleEditorVisibility"  either one
    "when": "!terminalFocus"
},

上面的操作会将面板或编辑器扩展到全高,但切换回来会 return 面板恢复到原来的大小,但不会什么都没有。如果您希望终端在完全打开和完全关闭之间跳动,请尝试这两种键绑定:

{
  "key": "ctrl+alt+t",  // you could use     "key": "ctrl+`",  if you wish
  "command": "workbench.action.closePanel",
  // "when": "terminalFocus"
},
{
  "key": "ctrl+alt+t",
  "command": "workbench.action.toggleMaximizedPanel",
  "when": "!terminalFocus"
},

以上 2 个键绑定的顺序重要


v1.50 正在添加设置 panel.opensMaximized - 我尝试了它的不同选项,但无法获得比我上面显示的两个键绑定 ctrl+alt+t 版本更简单的结果。无论如何,请先关闭面板以使其正常工作。

对于 MacOS 我发现有用 cmd+option+m

阅读@Mark 的回答后,下面概述了我的解决方案,因为它略有不同。我使用 ctrl-alt-m 在全尺寸终端和全尺寸编辑器之间切换。

注意:这包括提到的集成终端和 vscode 应用程序菜单栏。

为了子孙后代,我使用 vscode 版本 1.40.1。

实施

您需要在 vscode 中添加您的键绑定并执行手动步骤。

keybindings.json

将此添加到您的 keybindings.json 文件,可通过 Keyboard Shortcuts editor:

访问
    {
        "key": "ctrl+alt+m",
        "command": "workbench.action.toggleMaximizedPanel",
        "when": "!terminalFocus"
    },
    {
        "key": "ctrl+`",
        "command": "-workbench.action.terminal.toggleTerminal",
        "when": "!terminalFocus"
    },
    {
        "key": "ctrl+alt+m",
        "command": "workbench.action.terminal.toggleTerminal",
        "when": "terminalFocus"
    }

下滑综合终端

完成此操作并保存 keybindings.json 文件后,您需要 手动向下滑动集成终端 一直滑出底部的屏幕,之后使用 ctrl+` 从您的编辑器中打开。

之后,您应该能够在编辑器和终端中使用 ctrl+alt+m 来获得在它们之间移动的全屏体验。

我已经在 Ubuntu 和 Fedora 本地作为主机测试了这个,并使用 remote-ssh 从 Windows 10 主机远程连接到 Ubuntu。这有一个额外的好处,允许您使用 ctrl+` 从编辑器中获得默认情况下较小的终端,但使用单个命令 ctrl+alt+m 在 editor/terminal 之间切换。 YMMV!

在 VS Code 中全屏打开终端

此解决方案将替换 VS Code 中的标准键绑定,以便终端在全屏模式下切换。

实施

打开命令面板 ctrl+shift+p 并搜索 Preferences: Open Keyboard Shortcuts (JSON) 并将其粘贴到方括号之间。

{ "key":"ctrl+j", "command":"workbench.action.toggleMaximizedPanel","when":"!terminalFocus" },
{ "key": "ctrl+oem_3", "command":"workbench.action.toggleMaximizedPanel", "when":"!terminalFocus" }

对于 macOS 用户,您可以在同一个 keybindings.json 文件中设置快捷方式。

  • 您可以使用快捷方式访问文件 cmd+shift+p,然后 write/select Preferences: Open Keyboard Shortcuts (JSON).

  • keybindings.json中,将以下代码粘贴到方括号之间:

    { "key": "cmd+alt+m",
       "command": "workbench.action.toggleMaximizedPanel",
       "when": "!terminalFocus" }
    

您可以将快捷方式更改为任何适合您的方式(介意重写任何默认方式!),但我将我的设置为与其他人建议的相同(cmd+option+m) 保持一个“标准”。

现在有一个扩展就是为了这个。它是 Samuel T Scott 的“maximizeterminal”扩展。它重新定义了 ctrl+` 以全屏打开终端。上面的键绑定方法也很棒,但是根据我的经验,一旦您开始使用“code app.js”之类的 cli 打开文件,它们往往无法正常工作。使用扩展程序时不会出现此类问题。

解决方案 1:在新选项卡中创建终端并在选项卡之间切换

Ctrl+Shift+P > Terminal: Create New Terminal in Editor Area 创建一个终端作为新选项卡(A.k.a。编辑器)。看起来像:

现在您可以使用 View: Quick Open Previous Recently Used Editor in Group

在选项卡(A.k.a。编辑器)和终端(位于新选项卡中)之间切换

解决方案 2:在新的编辑器组中创建终端并在编辑器组之间切换

Ctrl+Shift+P > Terminal: Create New Terminal in Editor Area to the Side 在新的编辑器组中创建一个终端。看起来像:

现在您可以使用 View: Navigate Between Editor Groups

在 window 和终端之间切换

注意:

您可以根据需要为命令添加快捷键。例如,对于解决方案 1:

{
    "key": "ctrl+`",
    "command": "workbench.action.createTerminalEditor"
},
{
    "key": "ctrl+tab",
    "command": "workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup",
    "when": "!activeEditorGroupEmpty"
},
{
    "key": "ctrl+w",
    "command": "workbench.action.terminal.killEditor",
    "when": "terminalEditorFocus && terminalFocus && terminalHasBeenCreated && resourceScheme == 'vscode-terminal' || terminalEditorFocus && terminalFocus && terminalProcessSupported && resourceScheme == 'vscode-terminal'"
}

这里默认设置Ctrl+W & Ctrl+Tab。我刚刚修改了 Ctrl+`.

以上键绑定将

  • Ctrl+`
  • 时创建终端
  • Ctrl+W
  • 时关闭终端
  • 当您按下 Ctrl+Tab
  • 时在全屏编辑器和终端之间切换

我喜欢这个问题,我相信我找到了一些东西或者至少得到了我正在寻找的行为。

使用此处的工作区设置:https://github.com/microsoft/vscode/issues/107624

(输入 ctrl+,然后搜索“openmaximized”并将下拉菜单设置为“always”)

从那里我将“切换终端”的键盘快捷键设置为 ctrl+j(或任何您喜欢的),现在当我切换我的终端时,它从全屏切换到关闭

右键单击顶部的终端实例名称,如下所示,然后select“将终端移至编辑器区域”。这将允许您在 VS Code 中拥有完整的工作区视图。

Image of process