editor.mouseWheelZoom 默认关闭,需手动设为true才能用Ctrl/Cmd+滚轮缩放字体;禁用后zoomLevel值保留,window.zoomLevel会覆盖其效果,终端缩放需单独开启terminal.integrated.mouseWheelZoom。

editor.mouseWheelZoom 开关必须手动启用,否则 Ctrl/Cmd + 滚轮只滚动不缩放
VSCode 1.84 起默认关闭该功能,editor.mouseWheelZoom 在 settings.json 中默认值为 false。不显式设为 true,滚轮永远只会滚动代码,不会改变字体大小。
启用方式有两种:
- 图形界面:按
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS),搜索mouseWheelZoom,勾选 Editor: Mouse Wheel Zoom - 手动编辑
settings.json:添加一行"editor.mouseWheelZoom": true,注意检查前后逗号是否遗漏
生效无需重启,但焦点必须在编辑器区域(不能在终端、搜索框或侧边栏);macOS 必须用 Cmd 键,Ctrl 无效。
禁用 editor.mouseWheelZoom 后,滚轮缩放立即失效,但已有的 editor.zoomLevel 不清零
禁用 editor.mouseWheelZoom 只是切断滚轮输入通道,不会重置当前窗口的 editor.zoomLevel 值。如果你之前滚过轮子把 editor.zoomLevel 调到了 2,再关掉开关,字体仍保持放大状态——只是你再也调不动了。
要彻底还原,需手动清除:
- 在命令面板(
Ctrl + Shift + P)中运行Developer: Toggle Developer Tools,然后在 Console 输入editor.getConfiguration().zoomLevel = 0(仅临时生效) - 或直接删掉工作区/窗口级配置中的
"editor.zoomLevel"字段(通常藏在workbench.settings.editorZoomLevel或窗口缓存里) - 最稳妥:关闭所有编辑器标签页,再重启 VSCode
注意:editor.zoomLevel 是会话级设置,不写入 settings.json,所以禁用后不会自动清理。
和 window.zoomLevel 冲突时,editor.zoomLevel 效果被压制
如果 window.zoomLevel 非零(比如设为 1),它会全局缩放整个 UI,此时 editor.zoomLevel 的变化可能完全不可见,或只在局部微调——不是 bug,是层级覆盖规则。
排查方法:
- 在设置中搜
window.zoomLevel,确认其值为0或直接删掉这一行 -
window.zoomLevel和editor.fontSize共同作用时,视觉效果是叠加的,但window.zoomLevel用的是 CSS transform 缩放,易导致图标模糊、行号错位;而editor.zoomLevel是纯字体尺寸调整,更清晰 - 若你同时开了
editor.mouseWheelZoom和window.zoomLevel: 1,滚轮缩放可能“卡住”在某个阈值,上下调都无感
terminal.integrated.mouseWheelZoom 是独立开关,不影响编辑器
集成终端的滚轮缩放和编辑器互不干扰,必须单独开启 terminal.integrated.mouseWheelZoom 才能对终端生效。它控制的是 terminal.integrated.fontSize 的相对缩放,不是绝对字号。
常见误区:
- 开了
editor.mouseWheelZoom就以为终端也能滚——不会 - 终端缩放后关掉再重开,会回到
terminal.integrated.fontSize的原始值,不继承上次缩放 - 终端字体本身设得太小(如
"terminal.integrated.fontSize": 10),缩放上限会被物理限制,再怎么滚也糊
真正卡住的地方往往不是设置没开,而是系统或外设驱动劫持了滚轮事件——尤其是 Logitech Options、Razer Synapse、GNOME/Wayland 触控板手势这些,它们会在 VSCode 接收到之前就把 Ctrl/Cmd + 滚轮 吃掉了。


















