Как некоторые из вас, кто использует GNU/Emacs для разработки на Android, вы, несомненно, знаете, что в последних Android-инструментах есть new xml formatter. Я использую отличную nxml-режим для редактирования XML, так как ... Я редактировать XML-файлы;) и я очень счастлива с ним, но ... как я могу настроить Nxml Атрибут отступа переменной, документация говорит:Настроить отступ GNU/Emacs nxml-режима
Indentation for the attributes of an element relative to the start-tag. Hide
This only applies when the first attribute of a tag starts a line.
In other cases, the first attribute on one line is indented the same
as the first attribute on the previous line.
Что дело в том, что резерв, для которого автономный атрибут выравнивается по первому атрибуту, когда этот находится на той же строке, что и элемент.
Возможно ли изменить это поведение, чтобы получить отступ от Android Tools? Я просто ничего не нашел в документации и погуглить не удалось ...
Update:
Комментарий помогает мне понять, что я не ясно. Таким образом, вот пример того, что nxml режим делает по умолчанию:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.foo.bar"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="Foo"
android:label="@string/foo" />
<activity android:name="Bar"
android:label="@string/bar" />
</application>
</manifest>
То, что я хотел бы получить:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.foo.bar"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application
android:label="@string/app_name"
android:icon="@drawable/ic_launcher">
<activity
android:name="Foo"
android:label="@string/foo" />
<activity android:name="Bar"
android:label="@string/bar" />
</application>
</manifest>
Первый случай (по умолчанию nxml режим поведения отступа):
- атрибут
manifest
элементаpackage
совмещен сxmlns:android decl
android:label
атрибут элементаBar activity
выравнивается с элементомandroid:name
.
Второго случай (предполагаемый результат):
- атрибут
manifest
элементаpackage
совмещен с родительским элементомmanifest
плюс настраиваемого количеством пространств - атрибут
Bar activity
элементаandroid:label
является согласованный с родительским элементом плюс настраиваемое количество пробелов
I ha вы просматривали исходный код nxml-mode, а поведение отступов начинается с nxml-indent-line
, но я не смог следить за множеством подкатегорий, чтобы увидеть, что должно быть настроено defun
... из-за отсутствия знаний о Lisp.
Вы могли видеть, что второй атрибут manifest
не совпадает с первым
Приветствия,
Рено (чуть управления массивной головной боли, чтобы соответствовать с Android кодирования и правила форматирования)
Можете ли вы показать некоторые примеры XML? Я не понимаю, что вы подразумеваете под «резервными ошибками», для которых автономный атрибут выравнивается по первому атрибуту, когда этот находится в той же строке, что и элемент ». – mzjn
Вопрос обновлен с фрагментами XML;) Извините, я должен был поместить их сначала ... – Renaud