如何使用注释禁用部分代码的代码格式?


Answers:


542

从版本13开始,可以使用

// @formatter:off
...
// @formatter:on 

IntelliJ IDEA v.14 +:

首选项>编辑器>代码样式>格式化程序控件

IntelliJ IDEA v.2016 +:

首选项>编辑器>代码样式

IntelliJ IDEA v.2018 +:

文件>设置>编辑器>代码样式

您可以更改格式器控件标记,只要它们在注释中即可。


1
当前,@formatter:on(或您定义的任何内容)除非@formatter:off已存在,否则不会执行任何操作。可能还有其他方法可以关闭重新格式化-或使编辑器不自动重新格式化代码。搜索您的首选项。例如,此设置用于控制在手动执行“重新格式化”时不应重新格式化的节。
Louis St-Amour 2014年

85
您必须转到Preferences-> Code Style-> General-> Formatter Control并检查Enable formatter markers in comments其是否起作用。
Heath Borders

13
在14中,这位于“偏好设置”>“编辑器”>“代码样式”>“格式化程序控件”中
艾默生·法鲁吉亚

3
在2016.x版本中,可以在“设置”>“编辑器”>“代码样式”中找到它。
菲利普(Philippe)

9
为什么默认情况下禁用此选项?在代码中放置标记并限制整个团队的格式似乎非常有用。
Timur Yarosh

173

请注意,为了使Carlos回答@formatter:off@formatter:on起作用,您可能需要先启用首选项:

在“ IntelliJ首选项”的“代码样式”,“常规”,“格式化程序控件”下,有一个复选框“在注释中启用格式化程序标记”

通过如何配置intellij-idea发现不格式化部分代码?

IDEA-56995使用注释按区域禁用代码格式化


7
我想在整个项目上禁用此功能
mmm 2014年

4
搜索“重新格式化”的首选项可查看复选框,以查看IntelliJ自动重新格式化代码的多种方式:在粘贴时,在模板中键入右括号时,如果要更改功能,则可以深入了解。并非总是如此。如果提出问题,请使用IntelliJ的支持,如果提出建议,请使用其错误跟踪器。
Louis St-Amour 2014年

1
同样有可能启用正则表达式,然后将其.用作格式化程序关闭指令可能会起作用。只要您可以重新格式化文件中的第一行。虽然没有保证。:)
路易·圣爱慕

26

在xml文件中使用:

<!-- @formatter:off -->
<!-- @formatter:on -->

2
在xml文件中不起作用。基于Intelli-J的Android Studio 3.4.1。
维托·瓦洛夫

除非您随后在“文件/设置/编辑器/代码样式”中的“格式器控件”部分中启用了该功能,否则它在IntelliJ IntelliJ IDEA 2020.1.2中不起作用。
Tony Falabella



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.