JetBrains Mono 连字符导致 VSCode 括号着色不正确,能否禁用特定连字符?

58 天前
 s1n1an

用腻了 Fira Code ,最近特别喜欢 JetBrains Mono ,但是发现这个字体的连字符包含了 {{}},也就是说这两个括号会被变成一个字符,只能显示一种颜色,VSCode 对连字符始终依最后一个字符的颜色来着色。

问题如图,双花括号触发连字符,就有问题:

把字符拆开,就正常了:

设置里面关闭连字符,着色也是正确,开连字符就不行。其实不止这一种情况,这个字体好像连字符种类非常多,有几个都是我不需要的。

我去查了一下这个问题,GitHub 上倒是有不止一个反馈,官方的态度要么是 Won't fix 要么是 Not planned,看来指望官方解决是很难了,所以想来 V2EX 问问有什么好的解决方法。

推荐试试大神 Belleve 做的字体 Iosevka,这个字体定制性极好,有多个变体(例如 Fira Code 和 JetBrains Mono 的变体),可自由定制连字符(它针对多种编程语言,分别提供了连字符的预设)。

回到问题,针对其他的字体,有这些思路:

  1. 或许有第三方的 VSCode 括号着色插件,专门适配了连字符场景,可以替换掉 VSCode 的括号着色功能?
  2. 或许有字体定制工具,能修改字体,禁用掉其中一部分连字符?
837 次点击
所在节点    编辑器
1 条回复
TimePPT
58 天前
之前也遇到过各种 Ligatures 不正常情况,后来索性关了:)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1143474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX