Why we need this feature: Because we cannot write table (for example, in Markdown document or in Org-mode document) or limit code length of characters pre-line (If the project tends to use CJK text as its comment) if CJK font width != 2 * ASCII font width.
Why we do not find a font that defines this: No one will try to make it come true. It is hard (There are a lot of Chinese fonts, and many fonts are hard to design, and if there is one font that make it, it cannot give us the nice ASCII font we want)
Why terminal can make it come true: The terminal (even the terminal in VSCode) just puts characters in a grid one by one. If the character is a CJK character, it will hold two boxes.
Why VSCode cannot make it come true now: Because the editor is not a grid. We just split the text into lines.
What we want: just an option (Well... maybe closed by default) that can make the editor a grid. I do not think it is easy, but... well, the terminal in VSCode is a grid-based editor, so maybe it is possible to come true.
Same issue: #72907
UPDATED: For users who do want this feature, I find a good font to make CJK font-width is just 2 * ASCII font-width: the Sarasa Fixed SC.
为什么我们需要这个特性:因为如果 CJK 字符宽度不等于 2 * ASCII 字符的话,我们无法画表格(比如说 Markdown 或者 Org-mode 模式)或者轻易地限制每行代码的行长(如果工程倾向使用 CJK 文本来写注释的话)。
为什么我们不去寻找满足条件的字体:没有人会尝试实现它:它很难(中文字很多,很多字体都很难设计,而且如果有一个字体满足条件,它也无法给我们想要的 ASCII 字体,因为人各有所爱)。
为什么终端实现了它:终端(甚至是 VSC 中的内置终端)仅仅是把字体放到了网格布局中。如果一个字符是 CJK 字符,那么它就会占据两个格子。
为什么 VSC 目前没有实现它:因为 VSC 的编辑器不是基于网格布局的,我们只是把文字拆分成行然后放进去。
我们想要什么:只是一个选项(或许默认是关着的),可以使得编辑器基于网格布局。我不认为这个特性很容易实现,但是,VSC 的内置终端就基于网格布局的,所以它也可能实现,对吗?
相关 issue:#72907
更新:对于那些想要这个功能的用户,我发现了一个可以让 CJK 字符宽度正好是 2 个 ASCII 字符宽度的字体:Sarasa Fixed SC。
Why we need this feature: Because we cannot write table (for example, in Markdown document or in Org-mode document) or limit code length of characters pre-line (If the project tends to use CJK text as its comment) if CJK font width != 2 * ASCII font width.
Why we do not find a font that defines this: No one will try to make it come true. It is hard (There are a lot of Chinese fonts, and many fonts are hard to design, and if there is one font that make it, it cannot give us the nice ASCII font we want)
Why terminal can make it come true: The terminal (even the terminal in VSCode) just puts characters in a grid one by one. If the character is a CJK character, it will hold two boxes.
Why VSCode cannot make it come true now: Because the editor is not a grid. We just split the text into lines.
What we want: just an option (Well... maybe closed by default) that can make the editor a grid. I do not think it is easy, but... well, the terminal in VSCode is a grid-based editor, so maybe it is possible to come true.
Same issue: #72907
UPDATED: For users who do want this feature, I find a good font to make CJK font-width is just 2 * ASCII font-width: the Sarasa Fixed SC.
为什么我们需要这个特性:因为如果 CJK 字符宽度不等于 2 * ASCII 字符的话,我们无法画表格(比如说 Markdown 或者 Org-mode 模式)或者轻易地限制每行代码的行长(如果工程倾向使用 CJK 文本来写注释的话)。
为什么我们不去寻找满足条件的字体:没有人会尝试实现它:它很难(中文字很多,很多字体都很难设计,而且如果有一个字体满足条件,它也无法给我们想要的 ASCII 字体,因为人各有所爱)。
为什么终端实现了它:终端(甚至是 VSC 中的内置终端)仅仅是把字体放到了网格布局中。如果一个字符是 CJK 字符,那么它就会占据两个格子。
为什么 VSC 目前没有实现它:因为 VSC 的编辑器不是基于网格布局的,我们只是把文字拆分成行然后放进去。
我们想要什么:只是一个选项(或许默认是关着的),可以使得编辑器基于网格布局。我不认为这个特性很容易实现,但是,VSC 的内置终端就基于网格布局的,所以它也可能实现,对吗?
相关 issue:#72907
更新:对于那些想要这个功能的用户,我发现了一个可以让 CJK 字符宽度正好是 2 个 ASCII 字符宽度的字体:Sarasa Fixed SC。