我公司的Java导入订单标准将需要超过我在表格中看到的三个可定义组,即STANDARD_JAVA_PACKAGE,THIRD_PARTY_PACKAGE和SPECIAL_IMPORTS。我的问题分为两部分: 1)是否可以定义更多自定义正则表达式,或直接在VALUE中将regexes用于customImportOrderRules? 2)我完全可以这样做,因为com.our_company应该排在所有其他com之后。进口。
导入规则大约是
由于我们还在组之间强制使用空行,因此我无法将5、6和7合并为一个,并且不能依靠排序顺序来保持整洁。最糟糕的情况是,我们已经在Intellij中定义了此名称,只需要记住每次都要对订单进行自动排序。
答案 0 :(得分:0)
回答您的问题:
这应该适合您的情况:
<module name="ImportOrder">
<property name="option" value="top"/>
<property name="groups" value="/^java\./,javax,/^com\.(?!mycompany)/,nthing.org,pthing,com.mycompany"/>
<property name="ordered" value="true"/>
<property name="separated" value="true"/>
<property name="separatedStaticGroups" value="true"/>
<property name="sortStaticImportsAlphabetically" value="true"/>
</module>
小澄清。在groups
属性中,有两组/^com\.(?!mycompany)/
和com.mycompany
,第一组是使用negative look-ahead的正则表达式,第二组只是导入的通用前缀字符串。>