如何阻止 IntelliJ IDEA 从 .properties 文件中删除空行?

Posted

技术标签:

【中文标题】如何阻止 IntelliJ IDEA 从 .properties 文件中删除空行?【英文标题】:How to stop IntelliJ IDEA from removing empty lines from .properties files? 【发布时间】:2016-09-12 00:57:10 【问题描述】:

我想使用空行来分隔文件的各个部分(数据库属性、RabbitMQ 属性、业务属性等)。

保存文件时,会删除空行。 我有 IntelliJ IDEA 2016.1.2,带有“保存操作”和“属性”插件。 我看不到任何地方都可以控制 .properties 文件中的空行的选项。

【问题讨论】:

用#@formatter:off #@formatter:on (***.com/questions/3375307/…)包装文件 【参考方案1】:

这是 2016.1 和 2016.2 中的错误: IntelliJ Bug IDEA-157903

这个会在2016.3修复,你可以试试IntelliJ EAP

作为解决方法,我将Shift + Ctrl + s 定义为全部保存,所以当我注意到IntelliJ 删除了我的空白行时,我发出撤消并使用带有Shift 的快捷方式来保存文件而不重新格式化。

2016 年 11 月更新:我可以确认,在 2016.3 版中添加了在属性文件中保留空白行的选项

【讨论】:

我在 Intellij 稳定版本下使用,但仍然看到问题。IntelliJ IDEA 2016.3 Build #IC-163.7743.44, built on November 17, 2016 他们通过在设置对话框中添加一个选项来修复它。【参考方案2】:

IntelliJ 在您运行重新格式化代码操作时会执行此操作。

可以通过在保存操作插件设置中禁用“格式化操作 -> 重新格式化文件”来禁用它。但是,这样做当然不会在保存时重新格式化所有文件。

设置 -> 编辑器 -> Java -> 空行中有 java 代码的空行设置,但不幸的是,据我所知,属性文件没有。

防止重新格式化的更好方法是使用以下正则表达式添加属性文件排除

.*/.*\.properties

但是,目前似乎存在在某些情况下忽略此设置的问题

https://github.com/dubreuia/intellij-plugin-save-actions/issues/29

编辑:问题在 0.11 版本的插件中得到解决。排除正则表达式工作正常。

【讨论】:

谢谢!这确实是 Save Actions 插件的工作。在保存操作设置中禁用“激活保存操作”或禁用“重新格式化文件”会在属性文件中留下空白行。我试图从保存操作中排除属性文件,在保存操作设置中提供 .*/.*\.properties 作为“文件路径排除”,但这不起作用.. 尝试了他们提示的排除方法,但对我也不起作用。 这似乎确实是插件中的错误(文件排除被忽略)。我的项目文件与源代码位于同一目录中(链接的错误是针对项目文件与源文件位于不同目录中的情况)但我仍然会出现错误并且文件排除被忽略。 将您的插件更新到版本 11,它现在应该可以使用多个模块和排除正则表达式 .*\.properties,请参阅 github.com/dubreuia/intellij-plugin-save-actions/issues/29 @BartoszBilicki @Alexandre DuBreuil 我确认排除在 0.11 版本中有效。谢谢!

以上是关于如何阻止 IntelliJ IDEA 从 .properties 文件中删除空行?的主要内容,如果未能解决你的问题,请参考以下文章

存储库中的文件阻止 IntelliJ 使用星形导入

pycharm pro版server激活

如何让 IntelliJ IDEA 从 Maven 更新我的依赖项?

Intellij 不断编译 TypeScript(非常慢) - 如何阻止这种行为?

如何从 IntelliJ IDEA 向远程 Spark 集群提交代码

IDEA Intellij 如何调试从 Java 类调用的 PL/SQL 代码