用于查找自闭合 HTML 标签的 IntelliJ 结构搜索

IntelliJ structural search to find self-closing HTML tags

现在,我不想在使用 IntelliJ 编程时在我的 html 文件中使用自闭合标签。

所以基本上,我希望 IntelliJ 发现以下代码片段作为警告:

<img src='foo.png' />
<br />

我正在尝试使用 IntelliJ 上的结构搜索来确定我是否有任何自关闭标签。我尝试使用以下代码:

<$tag$ />

其中 $tag$ 的文本约束是 [a-zA-Z].

但是,它与我文件中的几乎所有标签都匹配。有没有办法只突出显示我说明的两个示例?

结构搜索和替换实际上不是为这种事情设计的。它搜索代码模式,并忽略样式。然而,可以通过 hack 实现所需的行为。要开始使用以下模式:

<$tag$>

这将匹配所有标签,无论是否自闭。不要添加 text constraint,而是使用带有以下 Groovy 脚本文本的 script constraint

tag.parent.text.endsWith("/>")

现在模式应该找到所有以 "/>" 结尾的标签。