向 XML 布局模板添加换行符

Add linebreaks to XML layout template

是否可以在 Android Studio 中修改 XML 布局模板,以便名称空间和属性出现在不同的行中?

默认模板生成:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

</LinearLayout>

首选:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</LinearLayout>

默认模板(如下)在单独的行中显示每个属性(不包括名称空间),但这些换行符不会转换为生成的资源文件。

问题是 Android Studio 不遵守 XML 模板中的换行符。

解决方案

  1. 启用 Keep line breaks

    Settings > Editor > Code Style > XML > Other (tab)

  2. 在相关(见注释)代码模板中的命名空间前添加一个换行符

    Settings > Editor > File and Code Templates > Other (tab)

结果

XML 布局现在将在不同的行上生成命名空间和属性,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

</LinearLayout>

备注

  • 相关代码模板为:

    layoutResourceFile.xml
    layoutResourceFile_vertical.xml
    
  • 确保 Keep line breaks 在后续运行中持续存在 Android Studio,确保修改 Project 方案而不是 Default 方案。