1. 起因
背景:今天更新了VSCode之后,我发现所有的菜单列表都变成了圆角,和原始的UI设计显得非常格格不入。尤其是我还在用Win10,可能Win11用户还能接受一些, 反正我觉得不能忍受。
排查:通过开发人员工具,看到菜单列表的元素的css类是.monaco-scrollable-element,然后通过github的"仓库内代码查找",在vscode源码里发现了关键文件menu.ts,然后发现了关键的行第290行。
然后通过git blame查找引入这行修改的提交,发现了是第149187号pull request在2022年5月份引入的修改,该修改在1个月的内测结束后,正常流入到Stable Build版本的VSCode更新中,影响到了我……该pr的最初目的是修改menu的颜色以和背景做出区分,但是最后却顺手修改了样式加入了圆角……
必要性:已经有人提出了关于“圆角开关设置”的feature request,但是开发者以不想同时维护2份css为由拒绝了这个提议(实际上可能是实现起来太麻烦?),只在pr#151250里改进了title bar的点击……
而且这个样式是写死在ts文件里的,直接在创建元素的时候写到元素的style里(具有最高的优先级),也没办法通过安装Custom CSS Loader插件等手段进行覆盖,只能自己手动修改vscode的资源文件。
于是只能自己:
2. Hack VSCode圆角
修改前建议备份原始文件!
这里只针对Windows系统讲,其他系统类似。
menu item圆角修改:menu.js打包后的资源在%ProgramFiles%\Microsoft VS Code\resources\app\out\vs\workbench\workbench.desktop.main.js中,在文件里寻找字符串"5px",把_var="5px"的那个结果改成"0px"即可。(_var是任意变量名,只要上文中的提到的menu.ts里的5px字符串不改变,一般来说这个方法就不会失效。)
menu title灰底圆角修改(可选):在同目录下的workbench.desktop.main.css里寻找.menubar-menu-title,把里面的border-radius改成0px。(注意不要改错了,必须是顶层类!这个改动是pr#151250在menubar.css里引入的。)这个修改可以额外把顶部菜单栏里显示的灰色底栏显示也改成方的。
关于修改VSCode资源文件后,右下角弹出的VSCode安装似乎已损坏和顶部标题栏的[不受支持]字样,请安装Fix VSCode Checksums插件。关于该插件可参考👉CSDN博客和👉StackOverflow问题。
本文讲述了作者在更新VSCode后对菜单列表圆角的不满,通过开发者工具找到关键代码并追溯到相关PR。由于官方未提供开关设置,作者分享了如何手动修改VSCode资源文件以移除菜单和标题栏的圆角,提供了具体步骤,并提醒用户修改前备份文件,同时推荐了用于修复校验和问题的插件。



4948

被折叠的 条评论
为什么被折叠?



