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

相关推荐
长成一棵参天树18 小时前
React15 vs React16 核心区别
git·vscode
golang学习记1 天前
IDEA 的 Java 智能,现在跑到 Cursor 和 VS Code 里去了
java·ide·vscode·intellij-idea·claude code
纪伊路上盛名在2 天前
windows 配置vscode x11转发
ide·vscode·编辑器
kyle~2 天前
机器人通信 --- FANUC TCP 并发请求-响应错位 Bug 复盘
tcp/ip·机器人·bug
2501_915106322 天前
KXApp 的 VS Code 真机调试:按下 Cmd+R 之后发生了什么
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
hkj88082 天前
VsCode的使用
ide·vscode·编辑器
夏虫不可与之言冰3 天前
第三课 点亮 LED 与定时器非阻塞闪烁
c语言·c++·vscode·单片机·嵌入式硬件·物联网
golang学习记3 天前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
小云小白3 天前
用 VSCode + Claude Code 搭一套专利编写 AI 辅助环境
vscode·ai写作·专利
coderSong25683 天前
【Ubuntu】ctrl+shift+f 繁体中文切换、VScode全集搜索
linux·vscode·ubuntu