Подтвердить что ты не робот

Заказ атрибутов XML в Android Studio

Я столкнулся с проблемой сохранения правильного порядка атрибутов XML в Android Studio. Как вы можете видеть ниже, атрибут 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>
4b9b3361

Ответ 1

Наконец-то получил.

  • Выберите File > Settings > Code Style > XML > Set from > Predefined Style > Android
  • Установить File > Settings > Editor > Formatting > Show "Reformat Code" dialog
  • Запустите форматирование в файле XML (CTRL+ALT+L по умолчанию)
  • Вы увидите всплывающее окно, установите флаг Rearrange entries
  • Отключить диалог Reformat Code в настройках

Таким образом, каждое форматирование XML файлов будет устанавливать атрибуты в правильном порядке.

Изменить: Начиная с версии Android Studio 0.2.6 формат форматирования XML-Android устанавливается по умолчанию, но вы все равно должны установить флаг Rearrange entries вручную.

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

Автоматически применять стиль кода Android XML, если стиль кода не уже настроены. Это позволит автоматически (установите флажок "Переставить записи" в Диалоговое окно "Код > Реформат...".

Ответ 2

ОБНОВЛЕНИЕ: метод, который я описал ниже, является официальным способом решения этой известной проблемы, см.: https://developer.android.com/studio/releases

После обновления до новейшего Android Studio v3.4.2 я обнаружил, что он больше не правильно форматирует код XML. Например, attributes ordering didn't work in layouts. Он делал только отступы и упорядочение пространств имен.

Я не знаю причину, по которой он сломался после обновления, но мне повезло исправить это:

  1. Перейдите в Settings (CMD + ,) на Mac.
  2. Введите format в поле поиска и нажмите на настройку Editor -> XML.
  3. Нажмите на вкладку Android и выполните те же настройки, что и на картинке:

Android tab in XML formatting Setting  Настройки на картинке вполне нормальные, но, конечно, вы можете настроить эту вкладку под себя.

  1. Перейдите на вкладку Arrangement, и вы увидите что-то вроде этого:

Arrangement tab in XML formattings Setting  Причина, по которой атрибуты не сортируются - правила сортировки пусты.

  1. Чтобы это исправить:

    1. Выберите Scheme и поиграйте с опциями Default IDE и Project. Переключение между ними может помочь.
    2. Или выберите Scheme, который соответствует вашим потребностям, а затем нажмите Set from... синий текст в правом верхнем углу -> Predefined Style -> Android. Вы увидите восстановленные правила в окне:

Finally you will see restored rules here  Я также выбрал Force rearrange - Always

Чтобы сохранить результат - нажмите Apply.

Также вы можете нажать на значок шестеренки рядом с Scheme и скопировать настройки или даже восстановить настройки по умолчанию.

Постскриптум Для меня стандартные правила удобны, но их можно настраивать и дальше. Вот статья, которая может помочь сделать это: https://medium.com/@VeraKern/formatting-xml-layout-files-for-android-47aec62722fc

Ответ 3

Чтобы удалить пустые строки между ними:

Настройки > Стиль кодa > XML > Другое > Сохранять пустые строки: 0

И затем просто переформатируйте ваши XML файлы.

Ответ 5

Файл> Настройки> Редактор> XML> Расположение Выберите Схему и выберите По умолчанию