我敢打赌,你每天打开 VS Code,做的第一个动作,大概率就是瞥一眼左上角那个三条横线的 菜单按钮。你可能从没点过它,但它就在那儿,像个沉默的保安。
直到有一天,你心血来潮点了一下------什么都没发生。
你瞪大眼睛,又点了一下。还是没反应。你心想:鼠标坏了?重启一下?于是你重启了 VS Code,再点......依然没反应。但当你按下键盘上的 Alt+F,文件菜单居然从屏幕左边以极其诡异的方式探出头来 ------它挤在活动栏(Activity Bar)的窄缝里,像是在门缝里偷看,而不是从门里走出来。

这,就是 2026 年 9 月初,VS Code 用户面对的一个魔幻现实。 很多vscode老哥都在这几天感受到了这个bug带来的困惑。
离奇的 Bug:从"没反应"到"门缝里偷看"
问题出在 VS Code 新推出的 "现代 UI"(Modern UI) 上。在vscode新版本里,当用户试图点击左上角的三根线菜单时,这中菜单因为形似汉堡🍔也被国外人成为汉堡菜单,菜单弹窗并没有出现在它应该在的地方,而是被截断并挤压在左侧非常狭窄的活动栏(Activity Bar)区域内 ,导致它既无法正常显示,也无法被点击。键盘快捷键 Alt+F 虽然能呼出菜单,但它却像幽灵一样被挤在了活动栏的窄缝里,完全没法用。
这个 Bug 的背后,其实藏着一段代码的历史:
- 罪魁祸首 :活动栏(Activity Bar)的样式使用了
transform: translateX(...)来实现某些动画效果。 - 副作用:这个 CSS 属性意外地成为了菜单弹窗的"包含块"(Containing Block),导致菜单位置计算错误,被局限在了活动栏内部。
- "门缝" :活动栏本身又有
overflow: hidden属性,所以菜单就被硬生生地裁切掉了,只露出一条缝。
用户发现了一个临时"解药":在设置里把 "workbench.experimental.modernUI": false 关掉,古老的菜单就回来了。但谁也不想永远活在"经典模式"里啊。
破案与修复:工程师连夜"拆墙"
好在 VS Code 的工程团队反应神速。从 Issue 反馈到修复合并,只用了不到两天。修复方案很干净:不再依赖 transform 来做位移,改为用更稳妥的布局方式 来固定活动栏位置。这样一来,汉堡菜单的弹窗就以视口(Viewport)为坐标基准,不再被狭窄的活动栏"绑架"。同时,工程师还加上了自动化浏览器测试 ,专门盯着这个"菜单不能跑偏"的场景,防止它以后再次偷偷溜走。

或者这样

一点荒诞的思考
这个 Bug 虽然看起来是个小插曲,但它生动地揭示了现代软件开发的悖论:我们在不断创造更酷的 UI 和交互的同时,也在不断增加让"最基础的按钮失效"的复杂性。 一个简单的 transform 属性,就能让用户最熟悉的菜单按钮"消失"。
好在 VS Code 团队用一次"闪击战"般的修复,保住了这个安静的"保安"的饭碗。