Skip to content

Markdown 中文等宽

VS Code 是什么

项目开发 IDE 兼 Markdown 文件编辑

Customizing Visual Studio Code and the PowerShell extension

File >> Preferences >> SettingsCtrl + Shift + P or <F1>

缘由

使用 VS Code 写 Markdown 文档,安装了 Prettier 做为格式化插件。格式化 Markdown 表格时,如果内容为中英文混排,表格间的竖线位置将被最长内容随机撑开,各行的竖线位置不会保持严格一致。为保持 Markdown 源码的美观,强迫症患者想要将表格间竖线的位置改良为整齐划一、严格一致。

英文字体默认使用了 Consolas 字体,该字体没有实现—至少在 VS Code 中表现如此—两个英文字母的宽度严格等于一个中文字符的宽度。参见下面表格中英文混排时的样式表现:

md
| WEB 标准 | 作用                                                                  |
| -------- | --------------------------------------------------------------------- |
| 结构     | 用于对网页元素进行整理和分类,主要包括 XML 和 XHTML 两个部分          |
| 表现     | 用于设置网页元素的版式、颜色、大小等外观样式,主要指的是 CSS          |
| 行为     | 用于对网页模型的定义及交互的编写,主要包括 DOM 和 ECMAScript 两个部分 |

方案 1

  1. 下载英文字体 Ubuntu Mono derivative Powerline,保存到 C:\Windows\Fonts 路径下

  2. 配置 VS Code 编辑器在写 Markdown 文件时的字体,按 Ctrl + Shift + P 调出 settings.json,添加

    json
    "[markdown]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode",
      "editor.fontFamily": "'Ubuntu Mono derivative Powerline', Consolas, 'PingFang SC Regular', monospace"
    },

经如此配置之后,再在 VS Code 编辑器里在写 Markdown 文件时,其英文字体就会使用 Ubuntu Mono derivative Powerline。此时,两个英文字母宽度严格等于一个中文字符宽度,Markdown 格式的表格竖线将严格对齐。

方案 2

  1. 下载中英文混合字体 新晰黑 Code / NeoXiHei Code,安装字体

  2. 同样方法配置 VS Code 使用 NeoXiHei Code 即可,此字体既可以单独使用兼顾英文、中文,也可再重新配置中文字体比如使用苹方

    json
    "[markdown]": {
      "editor.defaultFormatter": "esbenp.prettier-vscode",
      "editor.fontFamily": "'NeoXiHei Code', Consolas, 'PingFang SC Regular', monospace"
    },
    ``

注意:NeoXiHei Code 字体用在 VS Code 里面,在中英混排时,呈现表格等宽的表现无疑是比较优秀的,但是不适合用作 Windows Terminal + Neovim 的字体,因为 Neovim 的配置中使用了很多 Nerd Fonts 中的图标,而 NeoXiHei Code 中没有这些图标。另外一个美中不足的地方,NeoXiHei Code 只有 常规 一个字重,并且用爱发电的字体作者暂时没有制作其他字重的计划。

最近更新