拒绝VSCode菜单列表的圆角!

本文讲述了作者在更新VSCode后对菜单列表圆角的不满,通过开发者工具找到关键代码并追溯到相关PR。由于官方未提供开关设置,作者分享了如何手动修改VSCode资源文件以移除菜单和标题栏的圆角,提供了具体步骤,并提醒用户修改前备份文件,同时推荐了用于修复校验和问题的插件。

1. 起因

背景:今天更新了VSCode之后,我发现所有的菜单列表都变成了圆角,和原始的UI设计显得非常格格不入。尤其是我还在用Win10,可能Win11用户还能接受一些, 反正我觉得不能忍受。

如图,UI里又圆又方一点都不和谐

排查:通过开发人员工具,看到菜单列表的元素的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#151250menubar.css里引入的。)这个修改可以额外把顶部菜单栏里显示的灰色底栏显示也改成方的。

关于修改VSCode资源文件后,右下角弹出的VSCode安装似乎已损坏和顶部标题栏的[不受支持]字样,请安装Fix VSCode Checksums插件。关于该插件可参考👉CSDN博客👉StackOverflow问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值