VS Code 新UI被曝重大bug:菜单栏消失了

我敢打赌,你每天打开 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 团队用一次"闪击战"般的修复,保住了这个安静的"保安"的饭碗。

相关推荐
小李不困还能学19 小时前
VSCode_RemoteSSH_一直卡在下载服务器_解决教程
服务器·ide·vscode
海拥✘19 小时前
让 AI 修 AI 平台自己的 Bug:我用 SoduWork 给 SoduWork 提了一个 PR
人工智能·bug
Risehuxyc3 天前
fix bug
bug
lzj_pxxw3 天前
STM32移植FreeRTOS(Cmake+CubeMX)
vscode·stm32·嵌入式硬件
modelmd4 天前
离线安装与使用 vscode Remote SSH插件
ide·vscode·ssh
拖累斯6 天前
Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」
python·jenkins·bug
寂寞的船6 天前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
unity工具人7 天前
unity 照片墙插件(Pop-up Photo Wall)在触摸屏和红外框设备上的触发Bug
bug
灼行9 天前
Autosar SecOC 需求场景BUG(需求不一致性)【草稿】
bug
2501_9160088910 天前
iOS App 图标、启动屏和多语言搭配 方法,上架前使用KXBuild一次做好 App 图标
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程