88

我在 Android Studio 中保持 XML 属性的正确顺序时遇到了问题。正如您在下面看到的,该style属性位于layout_*属性之间,但我希望它按名称排序(就像在 Eclipse 中一样)。我正在使用标准 Intellij 代码格式化程序,Android Studio 让用户能够设置自己的 XML 排序规则。设置位于 中Code Style -> XML -> Arrangement,但似乎不起作用或我使用错误。任何想法如何使用默认代码格式化程序按名称排序 XML 属性?

<TestView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    style="@style/BackgroundLight"
    android:layout_height="wrap_content">

</TestView>
4

6 回答 6

194

终于明白了。

  1. 选择File > Settings > Code Style > XML > Set from > Predefined Style > Android
  2. File > Settings > Editor > Formatting > Show "Reformat Code" dialog
  3. 在 XML 文件上运行格式化(CTRL+ALT+L默认情况下)
  4. 您将看到一个弹出窗口,设置Rearrange entries标志
  5. Reformat Code在设置中禁用对话框

这样,每个 XML 文件格式都会以正确的顺序设置属性。

编辑:从 Android Studio 0.2.6 版本开始,默认设置 XML Android 样式格式,但您仍然必须Rearrange Entries手动设置标志。

http://tools.android.com/recent/androidstudio026released

如果尚未自定义代码样式,则自动应用 Android XML 代码样式。这将使 XML 属性自动排序成为可能(选中“代码 > 重新格式化代码...”对话框中的“重新排列条目”复选框。)

于 2013-08-20T22:04:26.600 回答
28

更新:我在下面描述的方法是解决此已知问题的官方方法,请参阅:https ://developer.android.com/studio/releases

更新到最新版本后,Android Studio v3.4.2我发现它不再正确格式化 XML 代码。例如,attributes ordering didn't work in layouts. 它只进行缩进和命名空间排序。

我不知道更新后它被破坏的原因,但很幸运能解决这个问题:

  1. 在 Mac 上转到Settings( )。CMD + ,
  2. 在搜索框中输入format,然后单击Editor -> XML设置。
  3. 单击Android选项卡并在此处进行与图片相同的设置:

XML格式设置中的Android选项卡 图片上的设置很正常,但是您当然可以根据自己的情况调整此选项卡设置。

  1. 转到Arrangement选项卡,您将看到如下内容:

XML 格式设置中的排列选项卡 属性未排序的原因 - 排序规则为空。

  1. 要解决这个问题:

    1. 选择Scheme和玩Default IDEProject选项。在它们之间切换可能会有所帮助。
    2. 或者选择Scheme适合您的需求,然后单击右上角的Set from...蓝色文本-> Predefined Style -> Android。您将在窗口中看到恢复的规则:

最后你会在这里看到恢复的规则 我也选择了Force rearrange - Always

要保存结果 - 单击Apply

您还可以单击附近的齿轮图标Scheme并复制设置甚至恢复默认值。

PS 对我来说,标准规则很舒服,但可以进一步定制。这是一篇可能有助于做到这一点的文章:https ://medium.com/@VeraKern/formatting-xml-layout-files-for-android-47aec62722fc

于 2019-08-12T16:07:47.160 回答
8

转到您的布局 XML
尝试Ctrl + alt + shift + L然后找到复选框标签是重新排列代码并检查它。

于 2019-12-12T03:45:55.830 回答
5

要删除它们之间的空行:

首选项 > 代码样式 > XML > 其他 > 保留空行:0

然后重新格式化您的 XML 文件。

于 2015-02-03T02:53:33.117 回答
0

IntelliJ 有一个插件,它可能会做你想要的......

http://plugins.jetbrains.com/plugin/?idea&pluginId=6546

于 2013-08-20T00:19:18.937 回答
0

文件 > 设置 > 编辑器 > XML > 排列选择方案并选择默认

于 2019-05-20T16:38:25.613 回答