我需要在IntelliJ中设置检查,找到xhtml / html / jsf页面元素而没有' id'属性。
<h:outputText value="myOutputValue"
styleClass="someStyle"/>
<h:outputText value="myOtherOutputValue" />
我尝试在结构搜索下在intelliJ中设置代码检查。使用以下正则表达式但我无法正确配置它。任何帮助,将不胜感激。
<(?:h:inputText|h:outputText)(?:\s+(?!id\b)[\w\-.:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[\w\-.:]+))?)*\s*/?>
我知道正则表达式有效,因为它会在输入到查找框时在我的文件中找到它。
最后一件事,最后我想扩展(?:h:inputText|h:outputText)
以包含众多标签,因此如果在检查中使用变量或者使用intelliJ中的其他内容,那么该解决方案将是最佳的。我们希望确保所有开发人员都将id属性放在所有适用的页面元素上,以便于测试。 (JSF标签很可怕)
答案 0 :(得分:1)
您可以使用结构搜索模式,如下所示:
<$name$ $id$>
请记住设置正确的文件类型。点击Edit Variables...
并为 $ name $ 提供以下限制:
文字/正则表达式:h:inputText|h:outputText
给 $ id $ 以下约束:
文字/正则表达式:id
出现次数:0,0
这将找到没有<h:inputText>
属性的所有<h:outputText>
和id
代码。