IntelliJ-google-java-format插件与IntelliJ-java-google-style.xml-有什么关系
目录
IntelliJ google-java-format插件与IntelliJ java-google-style.xml-有什么关系?
代码风格。这是一个有争议的话题,每个人似乎都有自己的观点,但似乎没有人有什么灵丹妙药。
最近,我参加了一场关于如何格式化链式方法(在这种情况下是Java stream())的讨论。
这是此讨论中的两个示例:
选项A:
obj.stream()
.map(...)
.distinct(...)
.collect(...);
选项 B:
obj.stream().map(...).distinct(...).collect(...);
就个人而言,我觉得选项 A 读起来很不错,但并不是每个人都有相同的感觉。这样做很好,但是有一套规则和限制会很好,它将一劳永逸地解决这场辩论。
幸运的是,我们决定使用样式指南,即 。
拥有样式指南是一件好事,但如果没有真正执行规则,则只需参考样式指南。此外,为了使生活更轻松,总是要收费,将所选样式与 IDE 功能(例如自动格式化)结合起来总是很高兴的。
对于 IntelliJ,我在这里看到两个选项。它要么安装 插件,要么导入 。
可以认为这两个选项的格式都相同,但不幸的是事实并非如此。
例如,该插件将像上面显示的选项 A 一样格 式化流,但是导入的 XML 将与选项 B 一起使用。
此外,如果您使用的是 Spring,那么 XML 将以这种格式生成注释:
@Autowired
private Entity entity;
虽然插件会将其格式化为以下格式:
@Autowired private Entity entity;
这些只是几个示例,但是还有许多其他差异。 XML 和插件都由 Google(或至少在其 GitHub 组织下)维护,这让我很惊讶。
因此,这留下了一些未解决的问题:
- 这应该是那样吗?
- IntelliJ 或 XML 的格式在两个选项之间差异如此之大
- 可能是一个问题吗?哪个是最接近实际的 Google 样式指南?
- 是否有其他工具可以可靠地对 Java 进行可靠的代码格式化?
就我个人而言,我觉得离插件更近了。这主要是因为它似乎更紧,几乎没有自由的不同风格。但是是不是太紧了?
原文链接: