【问题标题】:Using Scala & IntelliJ, show unicode arrows but don't change source-code使用 Scala 和 IntelliJ,显示 unicode 箭头但不要更改源代码
【发布时间】:2016-02-17 08:55:27
【问题描述】:

Scala 允许使用 Unicode 字符 (\u2190) 表示 <- (\u21D2) 表示 =>

有关于如何替换这些字符(例如herehere)在编写甚至使用后处理(例如scala-style)时的问题和答案。然而,这些解决方案更改实际的源代码。这意味着,如果我使用的是 Unicode 样式而我的同事没有,我们将在源代码中得到混合样式。这反过来又是我不喜欢的。 (意思是我宁愿使用 ASCII 样式的箭头来防止混合样式。)

所以我正在寻找一种在表示层而不是在表示层中提供解决方案的方法。 (例如使用点或逗号作为小数点分隔符更改数字格式,.. 它在磁盘上的存储方式不同。)

我知道我可以让 Git 做一些时髦的事情,就像它对 Windows 的行尾所做的那样,但我不想依赖 Git。我只希望 IntelliJ(或 Eclipse,如果有人知道如何在 Eclipse 中修复它)在遇到 ASCII 字符版本时向我显示 Unicode 箭头(最好在适当的位置,即模式匹配和理解)。

这在 IntelliJ 和 Eclipse 等编辑器中是否可行?我愿意做一些挖掘和编写插件等,但如果不需要,我宁愿不做。

【问题讨论】:

  • 如果您求助于编写插件,我认为 IntelliJ 的 native-to-ascii 转换功能可能已经实现了类似的功能。启用后,它在编辑器中显示 unicode 字符,但在磁盘上仍保存为转义序列。您可以在 IntelliJ 社区 repo 中找到它的源代码。
  • 这听起来正是我正在寻找的功能!感谢您指出这一点。

标签: scala unicode intellij-idea


【解决方案1】:

自发布问题以来,IntelliJ 已添加原生支持以将箭头视为 1 个字符(显然称为 ligatures)。

来自他们的whats new 页面:

我们增加了对等宽字体连字的支持。要启用连字,请转到设置 → 编辑器 → 颜色和字体 → 字体,选择支持连字的字体,例如FiraCode、Hasklig、Monoid 或 PragmataPro 并选择启用字体连字选项。

【讨论】:

    【解决方案2】:

    如果您想将 lambdas 视为箭头,您可以使用 IDE 设置。 我将转到 IntelliJ 编辑器设置 -> 背景,现在启用“启用连字”选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2015-12-12
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      相关资源
      最近更新 更多