同為Electron應用,為什麼VSCode無法像Github桌面客戶端一樣實現菜單欄和標題欄的變色?

在Windows上,很明顯可以看出GitHub客戶端的整體UI要比VSCode和諧的多,vscode的菜單欄顏色並不能變化,始終是白色,如果使用深色主題就會形成極大的反差,而且vscode標題欄似乎用的是Windows默認的,邊框還能看出極窄的一條Windows主題色。

技術上微軟應該是有能力解決這個問題的,但vscode發布這麼久了依舊沒有做出改變,這就很令我匪夷所思了


正在做。你可以去跟

  1. Titlebar-less view for Windows · Issue #17060 · Microsoft/vscode
  2. [WIP] Colored titlebar for Windows by rianadon · Pull Request #39972 · Microsoft/vscode

cc. @rebornix


下載了一下,不支持PowerShell,差評


很明顯Github for Windows是WPF做的,哪裡有什麼electron。每次diff gayui的文件的時候,都爆System.OutOfMemoryException。

P.S.

看起來好像是我還沒更新,他們重寫了?反正我機器上裝的這個還是這樣(逃


GitHub Desktop 的菜單欄和標題欄並不是原生的,而是把窗口設置成無邊框模式,然後自己用 html 模仿了菜單欄和標題欄,用 js 實現了相應的功能。

然而 vscode 作為編輯器,和 GitHub Desktop 相比,有很多需要和系統的交互的功能,比如複製粘貼全選等,這些功能在原生菜單欄里就是一個 role 設置的事情,自己寫的話難度就變得比較高了。

P.S. 如果你的 electron 項目使用了 react,可以來看看我們項目的自定義標題欄組件

KochiyaOcean/electron-react-titlebar


微軟技術上能做的多了,可是他是微軟啊,微軟要都做了那還叫微軟爸爸嗎?


因為 對 vscode 來說美化 暫時不重要。

用微軟的話說 就是生產力。

用我的話說:娘炮!


做當然是可以做的,electron有去掉邊框標題欄菜單欄的api,重新拿HTML繪製一遍就好了,但是和這點外觀的變化相比還是做好功能更重要。

當然你要覺得這真的很有必要就fork一下改改再PR啊,PR的時候記得refer一下 https://github.com/Microsoft/vscode/issues/16363 (

更新:哇已經有人在做了,看belleve的回答


Allow to change the background color of menu bar (Windows some Linux) · Issue #16363 · Microsoft/vscode


設計優先順序不高… 再者說,強大的擴展在哪裡擺著呢,何必自己做?


不做不代表做不了,先問是不是,再問為什麼


按照輪子哥的理論,vscode這種開源軟體應該題主自己去改代碼然後pull request到主分支上去。


這種自定義標題欄只要修改一個窗口屬性就可以實現了,我不覺得用系統難看。atom的主要問題是慢的一b


都關注些啥呀這都


還缺個導航條呢,代碼沒法跳來跳去,太不方便了


你居然跟微軟談設計、談美觀...

VSCode 很好用,但是也丑。


推薦閱讀:

TAG:微軟Microsoft | 用戶界面 | GitHub | VisualStudioCode | Electron |