1. 缘由

VSCode 中的 alt+shift 快捷键能够同时操作多列,但其前提是被操作的部分要完全对齐,这就要求 VSCode 编缉器使用的字体得是等宽的。

2. 配置

2.1 字体

  • 如果只是单纯使用英文或中文,则使用常见的等宽字体即可,比如 Monospace
  • 如果有中英文混合使用,则常见的等宽字体就无法保证中英文之间也能很好地对齐。因为中文汉字是全角字符,而英文字符是半角字符。系统上一般没有中英文对齐的字体,因此需要下载额外的字体:
  1. Sarasa-Mono-SC-Nerd:一款开源的字体,它有一个中英文对齐字体族,中英文字体宽度比例完美符合 2:1 。
  2. Sarasa-Gothic:另一款开源的字体,它里面包含的中英文对齐字体,中英文字体宽度比例同样完美符合 2:1。

2.2 安装

Sarasa-Gothic 字体和 Windows、Arch Linux 系统为例:

  • Windows:下载 Sarasa-Gothic 字体,根据 Sarasa-Gothic 仓库给出的使用文档,生成 ttf 或 ttc 字体文件,然后将字体文件拷贝到 C:\Windows\Fonts 目录下。
  • Arch Linux:Sarasa-Gothic 已被收录到 AUR 中,故可以直接在终端使用命令安装:
1
yay -S ttf-sarasa-gothic

Arch Linux 下对于无法使用命令直接安装的字体,也可以放到自定义的文件夹下,然后拷贝到 /usr/share/fonts 下,最后再使用命令刷新 fontconfig 的字体缓存:sudo fc-cache -vf

2.3 查看

一个字体文件可能包含多个字体族,对于每个字体族的样式和名字,需要打开字体文件查看:

  • Windows:直接点击打开,左上角就会显示当前字体族的名字,下方会显示预览。如果当前字体文件包含多个字体族,可以在右上角点击进行切换(TTC 字体文件一般包含多个字体族)。
  • Arch Linux:
  1. 查看字体文件中包含的所有字体族名称
1
fc-query -f '%{family}\n' font.file

有些字体族有中英双名称,显示时会并列在一行输出,并用 , 分隔开。

  1. 安装字体文件
    将字体文件放到自定义的文件夹下,然后拷贝到 /usr/share/fonts 下,最后再使用命令刷新系统字体缓存:
1
sudo fc-cache -vf
  1. 预览字体族
    打开系统设置,搜索 「font」,进入到 「Font Management」,然后根据前面查询到的字体族名称,在搜索框查找对应字体族的预览。

【注】一般名称中有「mono」或「等距」即表示该字体族是等宽字体。

2.4 设置

下载好所需字体并安装到系统后,即可在 VSCode 中进行设置。进入到 VSCode 的「Settings」页,搜索 editor.fontfamily,显示的首项即是所要设置的项。然后将想要设置的字体族名称放在首位即可,比如可以选择以下几款中英混合等宽字体:

在设置 VSCode 字体时,如果字体名称包含空格,则需用引号将字体名称括起。此外,VSCode 允许同时设置多个字体,不同字体间用 , 分隔,VSCode 则会按照给出的字体名称顺序选择。当第一个字体能够在系统上找到,则使用第一个字体;否则判断第二个字体,依次类推。比如:

1
"Sarasa Mono SC Nerd", "Sarasa Mono SC"

附录

参考资料: