IntelliJ 检查查找没有“id”属性的标签

Tho*_*ova 4 jsf intellij-idea structural-search

我需要在 IntelliJ 中设置一个检查,它将找到没有 `id 属性的 xhtml/html/jsf 页面元素。

<h:outputText value="myOutputValue"
                        styleClass="someStyle"/>
<h:outputText value="myOtherOutputValue" />
Run Code Online (Sandbox Code Playgroud)

我尝试在“结构搜索”下的 intelliJ 中设置代码检查。但是使用以下正则表达式我无法正确配置它。任何帮助,将不胜感激。

<(?:h:inputText|h:outputText)(?:\s+(?!id\b)[\w\-.:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[\w\-.:]+))?)*\s*/?>
Run Code Online (Sandbox Code Playgroud)

我知道正则表达式可以工作,因为当输入到查找框中时,它会在我的文件中找到出现的情况。

最后一件事,最后我想扩展(?:h:inputText|h:outputText)以包含大量标签,因此如果在检查中使用变量或 intelliJ 中的其他内容,那么该解决方案将是最好的。我们希望确保所有开发人员都id在所有适用的页面元素上添加属性,以帮助测试轻松进行。(JSF标签很难看)

Bas*_*ers 5

您可以使用如下所示的结构搜索模式:

<$name$ $id$>
Run Code Online (Sandbox Code Playgroud)

请记住设置正确的文件类型。单击Edit Variables...并为$name$指定以下约束:
文本/正则表达式:h:inputText|h:outputText

$id$以下约束:
文本/正则表达式:id
出现次数:0,0

这将找到所有没有属性的<h:inputText><h:outputText>标签id