【问题标题】:codeStyleSettings.xml always modified by Android StudiocodeStyleSettings.xml 总是被 Android Studio 修改
【发布时间】:2015-12-26 14:42:16
【问题描述】:

使用 Android Studio 1.3.2,不断修改 .idea/codeStyleSettings.xml 以添加 <Objective-C-extensions>...</Objective-C-extensions\> 部分。尽管项目中不存在 Objective-C 代码,但这些更改仍然存在。经过多次尝试,我无法恢复这些更改 - 每次打开 Android Studio 时它们都会再次出现。

这些更改来自哪里?如何避免 Android Studio 不断恢复修改?

<Objective-C-extensions>
  <option name="GENERATE_INSTANCE_VARIABLES_FOR_PROPERTIES" value="ASK" />
  <option name="RELEASE_STYLE" value="IVAR" />
  <option name="TYPE_QUALIFIERS_PLACEMENT" value="BEFORE" />
  <file>
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
  </file>
  <class>
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
    <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
  </class>
  <extensions>
    <pair source="cpp" header="h" />
    <pair source="c" header="h" />
  </extensions>
</Objective-C-extensions>

【问题讨论】:

  • 是的,这很烦人。在不将此更改添加到 git repo 方面,我在 .git/hooks 中有一个预提交挂钩,可以在提交之前重置此文件,但这不是一个理想的解决方案。

标签: android-studio intellij-idea


【解决方案1】:

&lt;Objective-C-extensions&gt; 部分由 Android NDK 支持插件添加。在 1.3 中添加并默认激活。

如果您已激活此插件,则会将该部分添加到您的 codeStyleSettings.xml。否则将被删除。

【讨论】:

  • 你能通过禁用插件来恢复行为吗?
  • @brunobowden 是的,如果您禁用插件,该部分将被 android studio 删除
  • 我已经确认它有效。谢谢@devtribe,这解决了我的一个大痛点。我永远不会猜到它是 Android NDK 支持插件。
  • 禁用插件:设置,插件,通过Android NDK Support清除检查,OK,重启Android Studio。
  • 无法在 AS 3.3 中禁用该插件,因为“Android APK Support”插件依赖于它。 AS 3.4 Beta 3 有另一个问题——无论你做什么,它都会删除这些条目。所以要么继续使用 AS 3.4,要么继续使用旧版本。如果您必须同时使用两者,您可能必须遵循@ScottFeinstein 的回答。
【解决方案2】:

遇到了这个确切的问题,因为 codeStyleSettings.xml 是一个版本控制文件,因此阻碍了进程。使用将文件标记为只读的低技术解决方案解决了它(在我的 Windows 机器上,如果有区别的话)。 Android Studio 在进行该更改后第一次抱怨它,但我阻止它取消设置为只读,之后一切正常。

【讨论】:

  • 值得更多支持。同样的情况,解决了,谢谢!
  • 当文件被其他团队成员修改时,这不会导致问题吗?
猜你喜欢
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 2015-04-08
相关资源
最近更新 更多