在VSCode中,是否有可能让编辑器全屏时分割窗口?

31

我希望能够让多个split编辑窗口中的一个全屏。

通常情况下,我有两个竖直分割的代码窗口,如果能只显示代码而不显示资源管理器终端和其他工具栏,就非常有用。

最初我有这样的界面:

enter image description here

但我想配置一个快捷键来使窗口全屏,变成下面这个样子:

enter image description here

就像按F11一样,关闭资源管理器,合并分割的窗口。手动这么做很麻烦...


请看这个类似的问题和答案:https://dev59.com/zFcP5IYBdhLWcg3w2NeZ#60174805 - jasonleonhard
8个回答

40

我想配置一个快捷键,使当前的窗口全屏显示。

您需要编辑按键绑定。按下Ctrl+K,然后再按下Ctrl+S来打开键盘快捷方式。

如果您使用的是Mac电脑,请使用Command键而不是Ctrl键。

在搜索栏中搜索full screen。您将看到类似于以下内容:

screenshot

单击结果。按Ctrl+KCtrl+K(又一次!)或单击铅笔图标以编辑快捷方式。按下所需的键组合即可。

这里还有一些更多的快捷键可以学习:

按下Ctrl+K,然后按下Z,以无探索器和终端等全屏显示编辑器。您可以使用Ctrl+B来显示/隐藏侧边栏,Ctrl+J来显示终端和控制台面板。

在此处下载适用于您喜欢的操作系统的键盘快捷键文件。

要使这些热键在vim模式下工作:

实际上,VSCodeVim 将接管您的控制键。这种行为可以通过 useCtrlKeyshandleKeys 设置进行调整。请前往 文件>>首选项>>快捷键。在搜索栏中搜索 Ctrl+k。您将会看到以下内容:extension.vim_ctrl+k

screenshotVim

更改此热键。现在应该可以工作了。


1
我想知道在vim模式下是否可以使用“Ctrl+A”来选择所有内容!你可能需要查看很多快捷键。 - itsmysterybox
2
似乎 Ctrl+J/ Ctrl+B 也被 Vim 扩展占用了。 我不记得它们是 Vim 正常模式下的快捷键。 - St.Antario
2
顺便说一下,这个问题似乎还没有被修复。非常遗憾。 - St.Antario
1
我之前使用的是VScode 1.15.1版本,这个问题没有出现过。所以,我升级了VScode,但是在1.27.2版本中仍然存在这个问题。 - itsmysterybox
1
在Windows上,您可以按F11键退出全屏模式。 - Anh Duy
显示剩余3条评论

28
你能做到的最接近最大化两个打开的编辑器组中的一个编辑器组, (大写是因为没有人认真阅读实际问题!) 就是将此命令设置为快捷方式:
View: Toggle Editor Group Sizes
workbench.action.toggleEditorWidths

这将把活动编辑组切换到屏幕的90%

如果您打开了侧边栏,它将占用另外10%的空间, 要自动关闭它,请使用:

View: maximize Editor Group and Hide Sidebar
workbench.action.maximizeEditor

(此命令不会切换,因此您仍然需要使用先前的快捷方式) (当您切换回来时,侧边栏也会关闭)

要实现最大屏幕效果,请使用Ctrl-k z进入禅模式,侧边栏、终端、菜单和杂乱无章的东西都会消失, 只剩下编辑器组,您可以使用前面提到的快捷方式来切换它们的大小。

不要在禅模式中迷失方向! 这种情况确实会发生,请记住快捷键Ctrl-k z

并非理想, 我认为我们都更喜欢专门的切换按钮,以使活动组编辑器或文件100%进入禅模式, 但现在已经足够接近了。

以下是其实际运行截图:

https://i.postimg.cc/MT1j5xLR/zen-mode-and-editor-group-size-toggled.png


5
没错,这个回答是唯一一个解决了提问者实际问题的。 - Janos
对我来说可以用,至少在官方支持在通常视图(多个编辑器组)和当前编辑器的全屏之间切换之前。这应该是被接受的答案。 - MarcusS
这正是我在寻找的,谢谢。 - Awanish Kumar
嘿,那是什么主题? - Agent_A
我们可以通过添加键绑定来改进这个。 - davenpcj
1
双击选项卡似乎会触发“切换编辑器组大小”功能。 - Erik

9

VS Code编辑器全屏无浏览器和终端 - 按下Ctrl + K,然后Z(禅模式)

要退出全屏模式,请按Esc两次。


退出全屏模式,请按两次Esc键。在Windows上,这对我不起作用,我必须使用Ctrl-k z - bevo009
2
ctrl+k,z不能使编辑器全屏,当用户使用两个并排的编辑器时。它也不能使单个编辑器全屏,只是占据了大部分屏幕(但不是全部)。 - Janos
在Ubuntu 20.04上,即使使用并排编辑器也能完美运行。谢谢! - java-addict301

2
在Windows中退出VSCode全屏模式,请按键。
F11

要再次进入全屏模式,请按键。
F11

2

2021年6月的VS Code更新可以将终端移动到编辑器区域内

步骤1

新的terminal.integrated.defaultLocation设置可以被设置为editor,以默认将新创建的终端定向到编辑器区域。

步骤2

通过Zen-Mode -> Strg + K + Z,您可以获得完整的窗口终端体验。


这很酷。作为一个 vim/tmux 用户,我发现这是一种更可行的管理编辑器和终端的方式 - 它们都是一等公民。 :-) 不过,我的问题是,当我使用它并尝试使用我的 vscode-neovim 绑定(Ctrl+w h/j/k/l)在编辑区域中导航到或从终端时,终端会消失,我必须创建一个新的终端。 - timblaktu

2

我在OSX上使用这个,希望它能有所帮助。只需用codef替换命令代码即可。

#!bin/sh
codef() {
  code $* && sleep 0.5 && /usr/bin/osascript -e \
    'tell application "Visual Studio Code"
      activate
      tell application "System Events"
          keystroke "f" using {control down, command down}
      end tell
    end tell'
}

1
这个解决方案与原问题接近。我编辑了一些 vscode 设置,现在可以快速切换两种状态:
状态 1: 打开多个(相等大小的)编辑器分屏,可能还有终端和侧边栏。
状态 2: 当前编辑器分屏更大,终端和侧边栏被移除,同时 vscode 最大化到全屏。
要切换,我使用 Ctrl+Alt+Z,然后是 Ctrl+Alt+B。返回时以相反的顺序输入。
为了使其工作,我将以下内容插入到我的 ~/.config/Code/User/keybindings.json 中:
    {
        "key": "ctrl+alt+b",
        "command": "workbench.action.toggleEditorWidths"
    },
    {
        "key": "ctrl+alt+z",
        "command": "workbench.action.toggleZenMode"
    },
    {
        "key": "ctrl+k z",
        "command": "-workbench.action.toggleZenMode"
    },

这对我来说在Linux上的VSCode版本1.61中有效。在Mac上可能需要一些调整。在Windows上应该是相同的。

仍然存在一个小问题:从禅模式返回后,光标焦点已移动到终端窗口,这很烦人,可能是VSCode的一个bug。要解决它并返回到你之前的位置,只使用键盘。如果你有两个分割窗口,请输入:

Ctrl+1 对于第一个分割窗口或者 Ctrl+2 对于第二个分割窗口


1
我们可以通过添加键绑定来改进@bevo099的答案。
这将使F11(默认情况下为全屏键)缩放到活动编辑器或终端面板上。禅模式已经是全屏模式,所以它很好地替代了全屏模式。
我使用多命令扩展允许在一个绑定上执行多个操作。
keybindings.json中:
[
    {
        "key": "f11",
        "command": "extension.multiCommand.execute",
        "args": {
            "sequence": [
                "workbench.action.toggleEditorWidths",
                "workbench.action.toggleZenMode",
            ]
        },
        "when": "editorTextFocus && !inZenMode"
    },
    {
        "key": "f11",
        "command": "extension.multiCommand.execute",
        "args": {
            "sequence": [
                "workbench.action.toggleZenMode",
                "workbench.action.toggleEditorWidths",
            ]
        },
        "when": "editorTextFocus && inZenMode"
    },
    {
        "key": "f11",
        "command": "workbench.action.toggleMaximizedPanel",
        "when": "terminalFocus"
    }
]

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