有什么方法可以阻止IntelliJ IDEA格式化Java文件的版权标头吗?我们已经为Java文件设置了一个版权配置文件,它工作正常。但是格式化代码(通过代码〉重新格式化代码或预提交选项)应用了JavaDoc格式的版权头。虽然该格式对于所有JavaDoc注解都是正确的,但版权头应该被忽略。
uklbhaso1#
您可以尝试启用Formatter Control
Formatter Control
/** * @formatter:off * <copyright header> * @formatter:on */
它位于Editor > Code Style > Formatter Control下的设置/首选项中
Editor > Code Style > Formatter Control
beq87vna2#
您可以在intelliJ Idea中排除源文件的某些部分,使其不被重新格式化。进入File -> Settings -> Code Style,选择Formatter选项卡,您将有3个选项(tldr,我猜第3个选项最适合您和我,但我还是开发了另外2个选项):为了便于示例,我将使用我当前客户的版权,其第一行以/开头,后面至少有5个*(实际上是一个更大的固定数)并且其最后一行至少为5*(实际上是一个更大的固定数字),后面跟着一个/,就像这样(我们不想在文本行上添加空格字符)
File -> Settings -> Code Style
Formatter
/
*
**第一个选项:**如果您不打算使用@formatter:off和@formatter:on,请更改它们。请改用正则表达式,匹配版权标题的开始行和结束行。
@formatter:off
@formatter:on
**第二个选项:**使用Do not format参数,该参数将识别整个不格式化的内容块(可能此选项仅在1行上有效,我不知道intelliJ如何解析glob模式,所以很抱歉,我无法提供示例,但它可能会有所帮助)**第三种选择(最佳):**对第一种建议的修正,即保留@formatter:off和regexp,可以使用能够识别这两种模式的regexp,如下所示:
Do not format
这里是可复制粘贴的条目@formatter:off|/\*{5}@formatter:on|\*{5}/
@formatter:off|/\*{5}
@formatter:on|\*{5}/
2条答案
按热度按时间uklbhaso1#
您可以尝试启用
Formatter Control
它位于
Editor > Code Style > Formatter Control
下的设置/首选项中beq87vna2#
您可以在intelliJ Idea中排除源文件的某些部分,使其不被重新格式化。
进入
File -> Settings -> Code Style
,选择Formatter
选项卡,您将有3个选项(tldr,我猜第3个选项最适合您和我,但我还是开发了另外2个选项):为了便于示例,我将使用我当前客户的版权,其第一行以
/
开头,后面至少有5个*
(实际上是一个更大的固定数)并且其最后一行至少为5*
(实际上是一个更大的固定数字),后面跟着一个/
,就像这样(我们不想在文本行上添加空格字符)**第一个选项:**如果您不打算使用
@formatter:off
和@formatter:on
,请更改它们。请改用正则表达式,匹配版权标题的开始行和结束行。**第二个选项:**使用
Do not format
参数,该参数将识别整个不格式化的内容块(可能此选项仅在1行上有效,我不知道intelliJ如何解析glob模式,所以很抱歉,我无法提供示例,但它可能会有所帮助)**第三种选择(最佳):**对第一种建议的修正,即保留
@formatter:off
和regexp,可以使用能够识别这两种模式的regexp,如下所示:这里是可复制粘贴的条目
@formatter:off|/\*{5}
@formatter:on|\*{5}/