当所有扩展都被禁用时,是否会出现这个问题?:是的
- VS Code 版本:1.87.0-insider,
提交:c11a2dd
- OS 版本:NixOS
重现步骤:
我在 fontconfig 中使用这个部分:
<match target="font">
<test name="family" compare="not_eq">
<string>Symbols Nerd Font</string>
</test>
<edit name="charset" mode="assign">
<minus>
<name>charset</name>
<charset>
<range>
<int>0xE000</int>
<int>0xFD46</int>
</range>
</charset>
</minus>
</edit>
</match>
它会从字体的字符集中删除一系列代码点,然后使用:
<alias>
<family>Iosevka Term</family>
<prefer>
<family>Iosevka Term</family>
<family>Symbols Nerd Font</family>
</prefer>
</alias>
我可以将该范围委托给 Nerd Font。这样我就可以在使用 Nerd Font 符号而不修补字体文件的情况下使用 Nerd Font。这在其他终端模拟器(如 alacritty)中表现得非常好,但在 vscode 的集成终端中不起作用。
可能是 electron 的一个限制。我确实注意到了 chrome、firefox 和 konsole 中的相同行为。但是像 gedit、alacritty 等其他应用程序可以完美处理这个问题。
3条答案
按热度按时间idfiyjo81#
我对此进行了一些测试。结果发现它确实可以在konsole(以及其他Qt应用程序)中工作,Qt应用程序只是在字体家族上略有不同,因此在规则中我必须使用"Iosevka Term Light"(尽管"Light"部分指定了权重,但不是字体家族名称的一部分),而gtk应用程序将匹配"Iosevka Term"。
但是即使在我添加了新规则之后,这仍然无法在vscode中正常工作。
drkbr07n2#
顺便说一下,我确实认识到这是一个相当深奥的使用案例,可能有几十个人都在这样做😅
pxy2qtax3#
如果在Chrome中也出现了相同的行为,那么在Chromium Issues上提交这个问题可能是值得的。