0

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

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

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

4

2 回答 2

1

因此,我能够将 Checkstyle 配置为接受 RegEx 的头文件(所以现在我有两个问题;)。

在 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 是否可以配置为忽略代码头,所以如果你知道如何让它做到这一点,请随时回答。

于 2018-04-09T16:28:00.957 回答
0

这是 Oracle 推荐的正确编程风格。不建议偏离这种做法。如果您真的想删除空格,您可以编辑您的工作区首选项以禁用 headers 的自动格式化。或者根本不自动格式化。

于 2018-04-09T15:37:55.123 回答