因为这件事,我失去了一部分周末的时间。小丑-零宽度空间。我只是使用了谷歌组的一些片段,没有识别出有双字符,因为Idea(11)没有显示它们,这导致了我的应用程序解析配置文件的问题…我是在vi中偶然发现的。

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

IntelliJ 11 / Mac OS 10.7

编辑-样本

这两行在浏览器和Idea中看起来是一样的。你可以在页面的代码中看到,在第一个注释行mysql://和localhost之间有一个隐藏的零宽度的空间,这导致了问题。当然,如果你期待那个“joker”,你可以尝试使用搜索并替换它,然而,没有人期待那个不应该在那里的符号,尤其是如果他不能以任何方式看到它。

#db.default.url="jdbc:mysql://​localhost/play-fullcalendar"
 db.default.url="jdbc:mysql://localhost/play-fullcalendar"

当前回答

不确定你的意思,但你可以永久地在设置->编辑器->常规->外观->显示空白。

此外,您只能在“视图->活动编辑器->显示WhiteSpaces”中为当前文件设置它。

编辑:

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

其他回答

不确定你的意思,但你可以永久地在设置->编辑器->常规->外观->显示空白。

此外,您只能在“视图->活动编辑器->显示WhiteSpaces”中为当前文件设置它。

编辑:

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

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

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

结果是这样的(在暗模式下):