删除星号前的前导空格 - 在IntelliJ中阻止注释样式

时间:2018-04-09 15:36:27

标签: java intellij-idea checkstyle block-comments

在使用IntelliJ时,我发现它在块注释的星号前面的第二行和后续行中放置了一个空格,例如:

/***************************************************************************
 * This is a code header.
 * The extra space before the asterisk is not good.
 ***************************************************************************/

我们的团队有一个共同的头文件,它是通过Checkstyle强制执行的,并不是每个人都使用IntelliJ。我不知道其他IDE如何处理标题,我想有些人正在使用纯文本编辑器。因此,在重新格式化代码时,我想删除默认情况下插入的空间,而不是更改其他所有人。这是可能的(在IDE中,或者不太优选,通过Checkstyle允许头文件中的可选空格)?

2 个答案:

答案 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推荐的正确编程风格。不建议偏离这种做法。如果您确实要删除空格,可以编辑工作区首选项以禁用标题的自动格式化。或者根本就不要自动格式化。