【问题标题】:Intellij codeStyleSettings.xml vs codeStyleConfig.xml vs codeStyle.xmlIntellij codeStyleSettings.xml vs codeStyleConfig.xml vs codeStyle.xml
【发布时间】:2019-02-07 16:53:23
【问题描述】:

我想为项目设置代码样式,以便项目的所有开发人员以相同的方式格式化代码。整个团队都使用 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 库(例如 https://github.com/qos-ch/slf4j )的根目录中看到一个 codeStyle.xml 文件,它是用于另一个 IDE 还是对 IntelliJ 中的格式化有影响?

顺便说一句,我认为通常代码样式配置如果不是混乱的话就会令人困惑,还有 IDE 级别的全局设置,我认为/希望它会在没有特定选项的规则时应用,对吗?

【问题讨论】:

  • 你可以试试editorconfig.org,它应该可以在IDE之间移植
  • 感谢您的建议,这可能是我将采取的路线,但我想了解我的 ide 在我的情况下的表现如何。有些团队可能不会决定使用 editorconfig。

标签: intellij-idea coding-style


【解决方案1】:
  • Intellij IDEA 2017.3 有了新的项目代码样式设置格式。现在所有代码样式设置都位于&lt;PROJECT_ROOT&gt;/.idea/codeStyles 目录下,最终目的是支持链接到不同范围的多个项目代码样式。新的代码样式设置格式也更简洁,包含按语言正确分组的所有代码样式设置。一些旧的遗留 Java、HTML 设置之前存储的没有任何语言标签,分别移动到“JavaCodeStyleSettings”、“HTMLCodeStyleSettings”等。

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


原始答案(现已过时):

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

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

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

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

【讨论】:

  • 非常感谢。当我更改代码样式方案时,我看到 &lt;option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" /&gt; 如何变成 &lt;option name="USE_PER_PROJECT_SETTINGS" value="true" /&gt;
  • @CrazyCoder 请注意,从 IntelliJ IDEA 2017.3 开始,.idea/codeStyleSettings.xml弃用,如"New project code style settings format in 2017.3" wiki page(2017 年 8 月 31 日)中所述。您可能希望相应地更新您的答案。 - 这里还有一篇文章的possible fix
  • @JJD 感谢提醒,现在都已修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-18
  • 1970-01-01
  • 1970-01-01
  • 2014-08-17
  • 2011-09-18
  • 1970-01-01
相关资源
最近更新 更多