Android Studio'da XML özellikleri sıralaması


84

Android Studio'da XML özelliklerinin doğru sırasını korumakta sorun yaşıyorum. Aşağıda görebileceğiniz gibi, styleöznitelik öznitelikler arasındadır layout_*, ancak isme göre sıralanmasını istiyorum (Eclipse'deki gibi). Standart Intellij kod biçimlendiricisi kullanıyorum ve Android Studio, kullanıcılara XML sıralamasıyla ilgili kendi kurallarınızı belirleme olanağı veriyor. Ayarlar konumunda bulunuyor Code Style -> XML -> Arrangement, ancak çalışmıyor veya yanlış kullanıyorum. Varsayılan kod biçimlendiriciyi kullanarak XML niteliklerini ada göre nasıl sıralayacağınıza dair bir fikriniz var mı?

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

</TestView>

Android Studio'daki düzen önizlemesinde bir hata olmadığı sürece, ConstraintLayouts için düzen, özniteliklerin sırasına bağlıdır. Örneğin, constraintX_toYof'tan sonra layout_height ve layout_width koyarsam, yapmadığımdan farklı bir sonuç alırım.
nsandersen

Yanıtlar:


188

Sonunda anladım.

  1. Seç File > Settings > Code Style > XML > Set from > Predefined Style > Android
  2. Ayarlamak File > Settings > Editor > Formatting > Show "Reformat Code" dialog
  3. Bir XML dosyasında biçimlendirmeyi çalıştır ( CTRL+ALT+Lvarsayılan olarak)
  4. Bir açılır pencere göreceksiniz, Rearrange entriesbayrağı ayarlayın
  5. Reformat CodeAyarlarda iletişim kutusunu devre dışı bırakın

Bu şekilde, her XML dosyası biçimlendirmesi, öznitelikleri uygun bir sırada ayarlayacaktır.

Düzenleme: Android Studio 0.2.6 sürümünden başlayarak, XML Android stili biçimlendirmesi varsayılan olarak ayarlanmıştır, ancak yine de Rearrange Entriesbayrağı manuel olarak ayarlamanız gerekir.

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

Bir kod stili önceden özelleştirilmemişse, Android XML kod stilini otomatik olarak uygulayın. Bu, XML özniteliklerinin otomatik olarak sıralanmasını mümkün kılar ("Kod> Kodu Yeniden Biçimlendir ..." iletişim kutusundaki "Girişleri Yeniden Düzenle" onay kutusunu işaretleyin.)


1
Öznitelikleri yeniden düzenler, ancak aralarındaki boş satırları silmez
Maksim Dmitriev

1
ubuntu için CTRL + Shift + ALT + L
H Raval

Klavye kısayolu, platforma ve yapılandırmaya bağlı olarak değişebilir. Kontrol etmek veya değiştirmek için Ayarlar ->
Tuş Eşleme

Bu cevap güncel değil, 2. numara değişti. Ctrl + Alt + Shift + L kullanın.
CoolMind

24

GÜNCELLEME: Aşağıda anlattığım yöntem, bu bilinen sorunu düzeltmenin resmi bir yoludur, bkz: https://developer.android.com/studio/releases

En yeniye güncelledikten sonra, Android Studio v3.4.2XML kodunu artık düzgün şekilde biçimlendirmediğini gördüm. Örneğin attributes ordering didn't work in layouts,. Yalnızca girinti ve ad alanları sıralaması yaptı.

Bir güncellemeden sonra neden kırıldığını bilmiyorum ama bunu düzelttiğim için şanslıydım:

  1. Git Settings( CMD + ,Mac).
  2. Tip formatArama kutusuna ve tıklayın Editor -> XMLayarında.
  3. Tıklayın Androidsekmesi ve bir resme olarak burada aynı ayarları yapın:

XML biçimlendirme ayarında Android sekmesi Bir resimdeki ayarlar oldukça normal, ancak elbette bu sekme ayarını size göre ayarlayabilirsiniz.

  1. Git Arrangementsekmesi ve böyle bir şey göreceksiniz:

XML biçimlendirme Ayarında Düzenleme sekmesi Özniteliklerin sıralanmamasının nedeni - sıralama kuralları boştur.

  1. Bunu düzeltmek için:

    1. Ve seçenekleri seçin Schemeve oynayın . Aralarında geçiş yapmak yardımcı olabilir.Default IDEProject
    2. Veya Schemeihtiyaçlarınızı hangi süiti seçip Set from...sağ üst köşedeki mavi metne tıklayın -> Predefined Style -> Android. Pencerede geri yüklenen kuralları göreceksiniz:

Sonunda burada geri yüklenen kuralları göreceksiniz Ben de seçtim Force rearrange - Always

Sonucu kaydetmek için - tıklayın Apply.

Ayrıca, yanındaki bir dişli simgesine tıklayıp Schemeayarları kopyalayabilir veya hatta varsayılanları geri yükleyebilirsiniz.

Not: Bana göre standart kurallar rahattır, ancak daha da özelleştirilebilir. Bunu yapmanıza yardımcı olabilecek bir makale: https://medium.com/@VeraKern/formatting-xml-layout-files-for-android-47aec62722fc


6

Düzen XML'nize gidin Ctrl + alt + shift + L'yi
deneyin, ardından onay kutusu etiketini bulun Kodu yeniden düzenle ve işaretleyin.


5

Aralarındaki boş satırları silmek için:

Tercihler> Kod Stili> XML> Diğer> Boş satırları tut: 0

Ve sonra XML dosyalarınızı yeniden biçimlendirin.


1
benim için çok iyi çalışıyor. Widget'lar arasında boş satırlar var ancak widget kodunun içinde yok.
Matwosk

Android stüdyosunda xml dosyaları nasıl biçimlendirilir? Mac'te ctrl + alt + L benim için çalışmıyor
Rethinavel


0

Dosya> Ayarlar> Editör> XML> Düzenleme Şema seçin ve Varsayılan'ı seçin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.