如何默认显示隐藏字符(ZERO WIDTH SPACE即.&#8203)

bie*_*ior 189 whitespace intellij-idea

因为这个,我只是失去了周末的一部分......小丑 - 零宽度空间.我只是使用谷歌小组的一些片段并且没有认识到有双倍的字符,因为Idea(11)没有显示它们,这导致解析我的应用程序的配置文件的问题...我在vi中意外发现它.

有没有办法在IntelliJ(或其他方式检查文件)中显示这些东西而不使用外部编辑器.

IntelliJ 11/Mac OS 10.7

编辑 - 样本

这两行看起来完全相同,在浏览器和Idea中.您可以在页面的代码中看到,在第一个注释行中,mysql://和之间存在隐藏的零宽度空间localhost,这会导致问题.当然,如果您期望"小丑",您可以尝试使用搜索并替换它,但是没有人希望不应该存在的标志,特别是如果他不能以任何方式看到它.

#db.default.url="jdbc:mysql://?localhost/play-fullcalendar"
 db.default.url="jdbc:mysql://localhost/play-fullcalendar"
Run Code Online (Sandbox Code Playgroud)

Vic*_*Vic 348

不确定你的意思,但你可以永久地打开和关闭显示空格Settings -> Editor -> General -> Appearance -> Show whitespaces.

此外,您只能将其设置为当前文件View -> Active Editor -> Show WhiteSpaces.

编辑:

有一些空闲时间,因为它看起来像一个流行的问题,我写了一个插件来检查这些异常的代码.它被称为零宽度字符定位器,欢迎您试一试.

  • 从IntelliJ-14.1开始,它隐藏在`设置 - >编辑器 - >常规 - >外观 - >显示空白 - >前导| 内心| Trailing` (5认同)
  • ellou'Vic,谢谢你的回复.不幸的是,此选项未显示主题中提到的"零宽度空间".我确定该角色存在,因为可以用ie显示它.Vi,但在Idea中看不到它:/ (4认同)
  • 是否有可能在白色空间出价点?喜欢Sublime (4认同)
  • 我明白了......我想我们将不得不等待CrazyCoder说它不受支持或类似的东西:) (2认同)
  • @WillSewell,您可以通过选择"设置 - >编辑器 - >颜色方案 - >常规"来影响颜色,然后在该类别中,转到"文本 - >空白".我将我的默认前景#505050更改为#404040,并发现它们可见但不会分散注意力 (2认同)

Mic*_*ros 73

一个非常简单的解决方案是使用正则表达式在文件中搜索非ascii字符.这将很好地突出显示带边框的所有斑点.

搜索[^\x00-\x7F]并选中Regex框.

结果将如下所示(在暗模式下):

零宽度空间可见

  • 是的,我看到了。这是当之无愧的。但是对于某些人来说,仅执行此搜索可能是安装插件的更快解决方案。 (2认同)