为什么 Sublime Text 3 和 VS Code 之间的 80 个字符规则如此不同?

Why is my 80 character ruler between Sublime Text3 and VS Code so different?

我在 Sublime Text 3 和 VS Code 中的标尺设置为 80。在我的 sublime 图像中,我使用与 80 字符标尺一样宽的“#---#”分隔函数。当我在 VS 代码中打开同一个文件时,标尺远未达到 80 个字符的限制,大约有数百个。有人知道这是怎么回事吗?

下面是Sublime Text 3的截图

下面是 VS Code 的截图:

注意 80 字符标尺的不同位置。

看起来你在这两种情况下都没有使用相同的字体,实际上 Sublime 中的字体是 Fixed Width 而 VSC 中的字体是 Proportional.

这不仅在标尺中可见,而且在代码本身中也是可见的。例如,假设两个屏幕截图中的文件相同,则缩进在 Sublime 中看起来是 4 个字符,在 VSC 中看起来是 3 个字符。

这两件事都是 Proportional 字体的症状;一种字体,其中每个字符的宽度可能不同,不像 Fixed Width 字体,其中每个字符的宽度相同。

Fixed Width 字体中,X 和破折号的宽度相同(例如),但在 Proportional 字体中破折号通常较窄(而 space 更是如此)。结果,位于字符位置 80 的标尺与位置 80 的实际字符不对齐,因为文本不够长。