在使用IntelliJ时,我发现它在块注释的星号前面的第二行和后续行中放置了一个空格,例如:
/***************************************************************************
* This is a code header.
* The extra space before the asterisk is not good.
***************************************************************************/
我们的团队有一个共同的头文件,它是通过Checkstyle强制执行的,并不是每个人都使用IntelliJ。我不知道其他IDE如何处理标题,我想有些人正在使用纯文本编辑器。因此,在重新格式化代码时,我想删除默认情况下插入的空间,而不是更改其他所有人。这是可能的(在IDE中,或者不太优选,通过Checkstyle允许头文件中的可选空格)?
答案 0 :(得分:1)
因此,我能够将Checkstyle配置为接受RegEx&#d;头文件(so now I have two problems;)。
在Style.xml文件中,我将其设置为使用RegexpHeader
:
<module name="RegexpHeader">
<property name="headerFile" value="${config_loc}/required-header.txt"/>
</module>
然后,我编写了RegEx文件以允许该位置的可选空间:
^\/[\*]{75}$
^\W?\* This is a code header\.$
^\W?\* The RegEx is configured to allow an optional leading space\.$
^\W?[\*]{75}\/$
但是,我仍然想知道IntelliJ是否可以配置为忽略代码头,所以如果你知道怎么做就可以随时回答。
答案 1 :(得分:0)
这是Oracle推荐的正确编程风格。不建议偏离这种做法。如果您确实要删除空格,可以编辑工作区首选项以禁用标题的自动格式化。或者根本就不要自动格式化。