# 自製VSCode顏色主題包(color theme) ## 動機 因為預設的色彩主題包有點看膩了,再加上marketplace沒有喜歡的,而且自己又非常喜歡之前Eclipse的色彩主題包,於是決定要來開始自己設定。本來只是想要在設定那邊稍微調一下而已,但還是沒辦法做到完全相同,於是決定開始自己做 ## 作法 參考自 https://www.youtube.com/watch?v=pGzssFNtWXw ### 設定 + 1. setting + 2. workbemch + 3. appearance + 4. colorCustomization > 也可以直接搜尋colorcustomization + 5. 打開setting.json + 6. 開始編輯 ### 完全自製 + 下載node.js + 在終端機上輸入 npm install -g generator-code + 輸入yo code > 但我這當時無法執行,於是直接去安裝檔案的地方從powershell執行 + 選取code + new color theme + no start fresh > 檔案會出現在user\node.js的資料夾 + 開始在VSCode編輯 為了方便編輯,我用了以下2個小技巧: + 為了方便編輯,我會打開debugger,以察看改了甚麼、改成了甚麼甚麼顏色 + 為了知道要改甚麼,我會打開Developer: Inspect Editor Token and Scope > 按ctrl+shift+p打開command panel > 搜尋Developer: Inspect Editor Token and Scope並打開 ### 語法 ```json= { "colors": {//主要是整個app的背景 "editor.background": "#1E1E1E",//編輯的地方的背景 "editor.foreground": "#eeffff",//編輯的地方的選取 "activityBarBadge.background": "#007acc",//側邊欄位的背景顏色 "sideBarTitle.foreground": "#bbbbbb"// },//一定要有逗號 "tokenColors":[ { "name": "",//這個類型的名字 隨意 "scope":[//Developer: Inspect Editor Token and Scope上的關鍵字 "", "" ], "setting":{ "foreground": "#ffffff",//字的色彩 "fontStyle": ""//字形 /* 粗體 "bold" 斜體 "italic" 底線 "underline" 原始 "" */ } },//一定要有逗號 { "name":"", "scope":[ "" ], "setting":{ "foreground":"", "fontStyle":"" } } ] } ``` ## 成品 marketplace的下載連結 > ![](https://i.imgur.com/goMbk6j.png) 後端(截自6/29) > ![](https://i.imgur.com/pWPkvRH.png) 程式碼 > https://github.com/zack-404/themeDemo ## 心得 經過這次,我終於能夠理解為甚麼網路上會有那麼多免費開源的程式,理由其實蠻簡單的:因為找不到符合自己需要的,於是只好自己開發一個。再者就是因為體會過找不到那些東西的感覺,所以就會免費開放;開放了又怕自己程式出錯,於是就會開源,也希望所有使用者都能夠修改它。未來希望可以支援更多語言,畢竟目前也只支援Java,因為其他的語言還沒有比較深入的研究。 這次的開發,也讓我學到許多東西,像是這促使我去了解JSON還有xml的結構,這算是我第一次接觸與前端開發的東西;為了要公開,我必須去了解怎麼使用Azure DevOps,這也是我第一次接觸這類的東西,公開發表一個產品;為了要公開更徹底,我還要去看看Github到底要怎麼用,並直接在Github上開源。 除了學到新東西,這次我也把原本學會的Java語法結構弄得更清楚了。 總之,這次我學到許多開發產品方面的一些東西,但還有很多還沒學,畢竟我還只是做一個小小外掛主題,但收穫真的蠻多的。 未來希望在接觸更多語言後,可以把這個主題外掛做的更完善。像是支援C、C++、Python、markdown、JSON...還有很多我可能會用到的。還有將marketplace的簡介,做得更詳細一點,像是加入截圖或Github的連結。 ## 參考資料 外掛開發 + https://www.youtube.com/watch?v=pGzssFNtWXw&t=805s + https://www.youtube.com/watch?v=Su-cNLe0dgw&t=1012s + https://www.youtube.com/watch?v=QCqWzb-9Sy8&t=118s json xml簡介 + https://www.youtube.com/watch?v=iJLMKzRmRNA&t=262s + https://www.youtube.com/watch?v=M2GOrdxYm9M + https://www.youtube.com/watch?v=t7TSFImLa0U 色彩參考 + http://www.eclipsecolorthemes.org/?view=theme&id=48678 VsCode api + https://code.visualstudio.com/api 公開步驟 + https://docs.microsoft.com/en-us/visualstudio/extensibility/walkthrough-publishing-a-visual-studio-extension?view=vs-2019 401錯誤 + https://github.com/microsoft/vscode-docs/issues/49 ## 內容 原文 + https://hackmd.io/@zack-404/darkestTheme 主題 + [darkest.darkest-dark-theme](https://marketplace.visualstudio.com/items?itemName=darkest.darkest-dark-theme&ssr=false#review-details)