解決 VSCode 編譯視窗中英文字寬不一無法對齊問題
| | | 11 | |
昨天介紹了 SQL Schema 轉 Markdown 重溫用 PE2 打表格的做法,其中有個小茶包:

原本該完美對齊的表格垂直線字元(+ |)會因中文與英文字型微小的寬度差異參差不齊。
由於 Markdown 最終都要轉成 HTML 或 PDF,編輯階段字元沒對齊不影響輸出成品,故我選擇無視。不過,被 ChrisTorng 留言一提,搞得我也愈看愈不順眼,好吧,就找找解決方案吧。
VSCode 的顯示核心基於 Chromium,其對中英文等寬問題不像某些終端機或文書軟體能自動調整,而要解決也不難,換一套嚴格遵守中英文寬度比 2:1 的字型,問題應可不藥而癒。
問了 Perplexity,AI 推薦以下這幾套字體:
| 字型名稱 | 來源/作者 | 主要特色 | 授權 |
|---|---|---|---|
| Sarasa Mono | be5invis (GitHub) | 基於 Iosevka、Inter、Source Han Sans,專為程式設計師設計,中英文寬度 2:1,支援多語系 | 開源、可商用 |
| Sarasa Mono Nerd | 社群 (基於 Sarasa Mono) | Sarasa Mono 加入 Nerd Fonts 圖示,適合終端機、Shell、Vim/Emacs 主題 | 開源 |
| Maple Mono NF CN | subframe7536 (GitHub) | 圓角設計、支援 Nerd Fonts 圖示、豐富連字、細緻自訂,支援中日文,2:1 對齊,字距較寬 | 開源 |
| M+ Font | Coji Morishita (日本) | 日本設計,支援多種字重與寬度,日文全形、英文半形,適合多語系環境,設計簡潔 | 開源 |
| Noto Sans Mono CJK | Google/Adobe | Pan-CJK 字型,支援簡繁中、日、韓,統一設計風格,區分地區字形,適合跨語系、界面設計 | 開源 |
綜合評比,Maple Mono NF CN 字距偏寬且未針對繁體優化(但特別適合終端機及 Shell 環境)、M+ Font 以日文為主,中文支援較差、Noto Sans Mono CJK 跨語系支援最完整,但英文表現一般,用在程式設計表現不如 Sarasa/Maple。Sarasa Mono 及其 Nerd 版本是目前中英文等寬、程式設計環境下最受歡迎的選擇,支援多語系且免費可商用。
Sarasa Mono,就決定是你了!
Sarasa Gothic 的下載網頁有超多下載包,多到讓人選擇困難症發作:

老樣子,2025 年只要有疑惑,先問 AI 十之八九就會得到答案。
- TTC:所有家族、所有語言的 TTC 格式集合 (TrueType Collection),多個字型合併為一個檔案,可節省空間,適合安裝所有變體
- SuperTTC:所有家族、所有語言的 TTC 格式超大合集 (Super TrueType Collection),包含所有家族與所有語言的全部變體及字重(Font-Weight)
- TTF:所有家族、所有語言的 TTF 格式集合 (TrueType Font),每個字型為單一檔案,方便個別安裝
- 至於 Unhinted 版,指的是不在字型檔嵌入數學指令以輔助顯示對齊像素格(術語叫 Hinting 字型微調)的版本,如此能更忠於字型輪廓原始設計,避免因強制對齊像素格失真,但在 Windows/Linux 低解析度或小字時易出現模糊、筆劃粗細不均、邊緣鋸齒等現象。
各種變體:
- Gothic,傳統無襯線字型 (Gothic):適合介面設計、一般閱讀
- Ui,UI 專用字型 (Ui):適合系統介面、App UI
- Mono,等寬字型 (Mono):適合程式碼、終端機
- MonoSlab,等寬 slab 襯線字型:適合喜歡 slab 風格的程式碼環境
- Term,終端機專用等寬字型:適合終端機、命令列
- TermSlab,終端機專用 slab 等寬字型:適合終端機、命令列
- Fixed,固定寬度字型:適合特殊對齊需求
- FixedSlab,固定寬度 slab 字型:適合特殊對齊且偏好
- 註:"slab" 指的是「Slab-Serif」(有襯線體),是一種襯線明顯且寬厚的字體類型,其特徵是字母筆劃末端的襯線(serif)呈現粗壯、直角、矩形的外觀,和常見的細長襯線 (如 Times New Roman) 有明顯差異
另外還有針對簡中(SC)、繁中(TC)、大陸港澳(CL/HC)、日文(J)、韓文(K)等語系分別打包的版本。
我選擇下載 SuperTTC (7z 133MB,ttc 檔 785MB) 裡面包含有所有 Sarasa 系列字型,按【安裝】一次全裝:


2025-07-16 更新:若嫌 Sarasa 全家桶近 800MB 太耗空間,也可以只裝 25MB 的 SarasaMonoTC-Regular.ttf。感謝 ChrisTorng 分享
安裝好字型後,在 VSCode 將其加入 editor.fontFamily 設定加入 'Sarasa Mono TC':

設定後,Markdown 表格直線無法對齊的問題就消失囉~

Sarasa Gothic 字型偏窄,若不習慣不想全面改用,也可只套用在 .md 的工作目錄,做法是設定在 Workspace 範圍或在 .vs/settings.json 加入設定:
{
"editor.fontFamily": "'Sarasa Mono TC', Consolas, 'Courier New', monospace"
}
【2025-07-16 更新】感謝讀者 W 分享,也可以只限定套用 Markdown:
{
"[markdown]":
{
"editor.fontFamily": "Sarasa Mono TC"
}
}
補充:也有不少人愛用的 Mapple Mono NF SC,我沒選擇的原因是它以簡體為主,未針對繁體中文優化,有些字不符合台灣的標準寫法。同一組字分別設成 Sarasa Mono TC 跟 SC 便能看出差異:(參考:小心!GB 18030 就在你身邊)

Comments
# by 小黑
有摟
# by yoyo
> Noto Sans Mono CJK 跨語系支援最完整,但英文表現一般,用在程式設計表現不如 Sarasa/Maple。 不太了解英文表現一般,用在程式設計表現不如 Sarasa/Maple 這部分,可以詳細說明嗎?
# by ChrisTorng
我又加以改進,寫了文章 [VSCode 等距寬度字型](https://christorng.substack.com/p/vscode-monospaced-font)。 重點是只下載 Single Family & Language TTF Package - TC - Mono - 7z (65MB),僅安裝 SarasaMonoTC-Regular.ttf 一個字型 (25MB)。由黑大的安裝 785MB 一堆字型,我只安裝 25MB 一個字型,減少了 30 倍。 但又發現新問題: 編輯器中僅斜體或粗體可以正確預覽顯示,斜體加粗體卻不行。我的文章中有圖片範例。
# by W
https://stackoverflow.com/questions/71714273/how-to-specify-the-text-font-for-specific-file-types vscode setting.json 可以將字型只套用特定檔案格式 "[markdown]": { "editor.fontFamily": "Sarasa Mono TC" }
# by Hank
很久以前保哥分享的 MicrosoftYaHeiMono 用了就回不去了 XD
# by Jeffrey
to ChrisTorng, W,感謝分享,已補充本文。
# by Jeffrey
to yoyo,程式專用字型有個基本要求是 O 跟 0 要能明確區分(數字零通常會加上斜槓),有不少人反應 Noto Sans Mono CJK 在這方面表現不佳,參考: https://github.com/notofonts/noto-cjk/issues/244
# by Applepig
Yahei Mono是微軟家的預設簡體中文字體 (發出GB18030的慘叫
# by tt
另一個Mono字型供參考: https://github.com/lxgw/LxgwWenkaiTC
# by Aiden
測試了一下,SarasaMono 的英文太纖細,看著不舒服,後來改用以下配置,舒服很多: 1. 英文用 Ubuntu Mono derivative Powerline (https://github.com/powerline/fonts/tree/master/UbuntuMono) 2. 中文用微軟正黑體 3. 設定如下: "editor.fontFamily": "'Ubuntu Mono derivative Powerline', '微軟正黑體', monospace",
# by SV
裝了千山萬水的字體,Sarasa Mono是當下最終極的中英文並存等寬,懂得就懂。