Intellij codeStyleSettings.xml 对比 codeStyleConfig.xml 对比 codeStyle.xml

Intellij codeStyleSettings.xml vs codeStyleConfig.xml vs codeStyle.xml

我想为项目设置代码风格,让项目的所有开发人员以相同的方式格式化代码。所有团队都使用 IntelliJ。当我在文件中添加样式时

/myproject/.idea/codeStyleSettings.xml

IDE 创建文件

/myproject/.idea/codeStyles/codeStyleConfig.xml

内容

<component name="ProjectCodeStyleConfiguration">
  <state>
    <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
  </state>
</component>

默认设置会覆盖我的代码风格设置吗?我应该在我的设置文件中使用相同的组件名称来覆盖默认组件吗?

除此之外,我在一些著名的 java 库的根目录中看到一个 codeStyle.xml 文件,例如 https://github.com/qos-ch/slf4j ,是不是另一个 IDE 或者这是否也会对 IntelliJ 中的格式产生影响?

顺便说一句,我认为一般代码风格配置即使不乱也很混乱,还有 IDE 级全局设置,我 think/hope 它会在没有规则的情况下应用具体选项对吧?

  • Intellij IDEA 2017.3 有了新的项目代码样式设置格式。现在所有代码风格设置都位于 <PROJECT_ROOT>/.idea/codeStyles 目录下,最终目的是支持多个项目代码风格 linked 到不同的范围。新的代码风格设置格式也更清晰,包含按语言正确分组的所有代码风格设置。以前存储的一些没有任何语言标记的旧遗留 Java、HTML 设置分别移动到 "JavaCodeStyleSettings"、"HTMLCodeStyleSettings" 等。

  • 旧的 .idea/codeStyleSettings.xml 被导入到两个新文件中:.idea/codeStyles/codeStyleConfig.xml 包含 link 首选项目代码风格和 .idea/codeStyles/Project.xml 代码风格不同语言的设置。后者是可选的,只有在存在非默认设置时才创建。如果 .idea 目录在版本控制下,这两个文件也可以添加到 VCS。保留旧 codeStyleSettings.xml 是为了向后兼容。


原始答案(现已过时):

  • .idea/codeStyleSettings.xml 存储用于与项目共享的项目特定代码样式,以便所有团队成员都自动为该特定项目应用相同的代码样式。 Check this answer 了解详情。

  • .idea/codeStyles/codeStyleConfig.xml用于覆盖默认的项目代码风格。 默认情况下它包含 <option name="USE_PER_PROJECT_SETTINGS" value="true" /> 以便使用 .idea/codeStyleSettings.xml 中的项目特定配置。如果您将代码样式设置切换为使用存储在 IDE 中的方案而不是项目方案,此文件将存储您的选择。

  • IntelliJ IDEA 还支持 .editorconfig,它将具有优先级并默认覆盖 IDE 和项目方案。 Check the documentation了解更多详情。

  • 项目根目录中的
  • codeStyle.xml 用于 Eclipse IDE 并且不被 IntelliJ IDEA 使用。它也可能被 IntelliJ IDEA 使用,如果你安装了 Eclipse Code Formatter 插件并进行了相应的配置。