vscode没有一键全屏专注模式,ctrl+k z是分步触发zen mode(非三键同按,否则触发撤销),默认仅隐藏侧边栏、状态栏和活动栏,不隐藏菜单栏、标签页和终端;需手动配置zenmode.fullscreen、workbench.editor.showtabs等才能实现真正沉浸。

VSCode 没有“一键全屏+专注”的默认模式,F11 和 Ctrl+K Z 是两套完全独立的机制,混用必出问题;真正沉浸必须手动补配置,否则永远卡在“看起来像全屏但菜单栏还在”状态。
Ctrl+K Z 不是全屏快捷键,按错就删代码
这是最常踩的坑:Ctrl+K Z(Windows/Linux)或 Cmd+K Z(macOS)是 Zen Mode 的触发序列,不是三键同按,而是分步操作——先按 Ctrl+K 松开,再单独按 Z。连按 Ctrl+K+Z 实际触发的是 Ctrl+Z(撤销),刚写的函数可能直接消失。
- 中文输入法下
K或Z常被拦截,切英文再试 - 远程开发、录屏软件(如 OBS)、输入法(如 RIME)可能劫持
Ctrl+K前缀,此时用命令面板更稳:Ctrl+Shift+P→ 输入Toggle Zen Mode→ 回车 - 焦点不在编辑器内(比如停在终端、搜索框或侧边栏)时,该快捷键静默失效
F11 默认不进系统全屏,只是面板最大化
VSCode 默认把 F11 绑定到 workbench.action.toggleMaximizedPanel,效果是拉满底部终端或输出面板,和窗口全屏无关。你反复按 F11 却看不到菜单栏/Dock 隐藏,就是这个原因。
- 笔记本用户(Dell/Lenovo 等)常需配合
Fn键:实际要按Fn+F11 - macOS 上
F11默认控制音量,需去「系统设置 → 键盘 → 功能键」启用「将 F1、F2 等用作标准功能键」 - 想让
F11真正触发系统级全屏,必须重绑定:Ctrl+K Ctrl+S→ 搜索F11→ 删除旧绑定 → 新增快捷键,按下F11,命令填workbench.action.toggleFullScreen - 若系统级热键冲突(如 NVIDIA 控制面板、Mac 音量),得先在系统设置中禁用对应功能
Zen Mode 默认不隐藏菜单栏、标签页和终端
Zen Mode 的设计原则是“不破坏工作流”,所以它只收侧边栏、状态栏、活动栏,其余一概不管。你看到顶部菜单栏悬停即出、标签页占着空间、终端还开着,全是预期行为,不是 Bug。
- 要彻底隐藏标签页,仅设
zenMode.hideTabs不够,必须加"workbench.editor.showTabs": false(前者只控制显示逻辑,后者释放布局空间) - 菜单栏无法完全移除(尤其 macOS 受系统限制),但可设
"window.menuBarVisibility": "toggle",按Alt(Win)或Cmd(macOS)才显示 - 终端(
Ctrl+`)、调试面板、Git 视图等,Zen Mode 完全不干预;想无干扰,得自己关掉,或记住别切过去 - 若希望进 Zen 时自动全屏,必须显式启用
"zenMode.fullScreen": true;否则仍需手动按F11
改完 settings.json 后,新配置不生效?
VSCode 不会实时应用 Zen Mode 相关配置变更。哪怕你改了 zenMode.fullScreen、workbench.editor.showTabs 等所有项,也必须手动触发一次 Zen Mode(Ctrl+K Z)再退出,新设置才会加载生效。
- 不需要重启 VSCode,但必须完成“进入→退出”这一轮生命周期
-
zenMode.restore控制的是退出后是否恢复 UI 状态(比如侧边栏是否展开),不是“每次启动都进 Zen”;想开机即 Zen,目前无原生支持 - macOS 启用原生标题栏(
window.titleBarStyle: native)时,Zen Mode 无法隐藏关闭/最小化按钮,这是系统限制,非配置错误
真正麻烦的不是配置项多,而是每个开关都有作用域边界:有的管布局,有的管显示逻辑,有的只在系统级全屏下起效。漏掉任意一个,就会出现“菜单栏还在晃眼”或“标签页空占一行却点不开”的割裂感。











