Випуск рефактора Android Studio 3.5


159

Я щойно оновив свою студію на андроїд-студії 3.5, і тепер, коли я намагаюся рефакторний AndroidManifest.xmlфайл, він переробляє весь дозвіл на додаток внизу файлу.

Хтось стикався з цим питанням? Чи є рішення щодо цієї проблеми рефакторингу?

Перед рефактором:

введіть тут опис зображення

Після рефактора:

введіть тут опис зображення

Він застосований до всіх моїх файлів проекту.

Чому це важливо:

введіть тут опис зображення


4
чому це проблема, яка потребує вирішення?
Тім

13
@TimCastelijns: Якщо нічого іншого, він вводить несподіваний шум у контролі версій. Я не можу виключати справжніх проблем на старих пристроях Android, як <uses-permission>раніше потрібно було з’являтися <application>, хоча можливо, що це справді стара проблема з інструментами, яку ми сьогодні не бачимо.
CommonsWare


7
@TimCastelijns в макеті xml, він змінює порядок компонентів (наприклад: мій ImageView прийшов до мого TextView, і це не те, що я хочу!)
rcperso

3
Вони просто розв’язали всі свої зусилля щодо стабільності з цим 3,5. Мабуть, найгірша помилка AS з тих пір, коли вона може мовчки зламати вашу програму під час роботи: /
Карсон

Відповіді:


240

Вам просто потрібно встановити макет xml для додатків Android із налаштувань.

Виконайте такі дії:

1. Перейдіть до Android Studio > Налаштування . Для Windows перейдіть у меню Файл > Налаштування .

введіть тут опис зображення

2. Шукайте XML на панелі пошуку.

введіть тут опис зображення

3. У розділі стилю коду виберіть вкладку xml .

введіть тут опис зображення

4. У верхньому правому куті натисніть на комплект із ... і за попередньо визначеним стилем виберіть Android

введіть тут опис зображення

5. Клацніть на Застосувати і спробуйте зробити рефактор.


5
Після цього вам може знадобитися перезапустити Android Studio.
tasomaniac

Мені це найбільше подобається, але я думаю, що проблема полягає у відсутності тега властивостей "атрибут" на вкладці розташування. Дивіться скріншот у моїй власній відповіді для деталей.
Слартібартфаст

З чого я можу сказати, чому ця пропозиція працює, це те, що вона вставляє ці теги типу "атрибут", хоча це робиться ціною скидання будь-яких інших налаштувань, які ви, можливо, встановили, тому вам доведеться повторно реалізувати їх після, але це працює :).
Слартібартфаст

1
Я боюся, що це рішення не працює в моєму випадку.
П Вартак

16

Скиньте відповідний стиль коду Android наступним чином.

Тільки для Windows

Крок1: Клацніть на меню файлів .

Крок 2: Перейдіть до налаштування .

Крок 3. Знайдіть редактор на панелі зліва **.

Крок 4: Знайдіть стиль коду в підменю редактора.

Крок 5: Клацніть на XML у підменю Стиль коду.

Крок 6: Клацніть на Встановити у верхньому правому куті правої панелі.

Крок 7: Виберіть заздалегідь визначений стиль .

Крок 8: Виберіть Android .

Крок 9: натисніть кнопку ОК .

Тільки для macOS

Крок 1. Натисніть меню Android Studio .

Крок 2: Перейдіть до налаштувань .

Крок 3. Знайдіть редактор на панелі зліва **.

Крок 4: Знайдіть стиль коду в підменю редактора.

Крок 5: Клацніть на XML у підменю Стиль коду.

Крок 6: Клацніть на Встановити у верхньому правому куті правої панелі.

Крок 7: Виберіть заздалегідь визначений стиль .

Крок 8: Виберіть Android .

Крок 9: натисніть кнопку ОК .


8

Здається, схема за замовчуванням залишає властивість "атрибут" у правилах розташування. Додавання їх назад у творах, як шарм для мене.

Виправлення можна здійснити за допомогою: Налаштування> Редактор> Стиль коду> XML введіть тут опис зображення


5

Просто додайте більше деталей.

Це відома проблема Android-студії від Android Studio 3.5 Canary 8. Це слід виправити в наступній версії, оскільки це виявилося, що це вплине на велику кількість розробників.

Ви можете побачити статус помилки тут

Також рішення є

Зламаний стиль коду XML

Під час редагування XML-коду IDE може застосувати неправильний стиль коду, коли ви виберете «Код> Код переформатування» на панелі меню. Щоб вирішити цю проблему, скиньте відповідний стиль коду Android таким чином:

  1. Відкрийте вікно Налаштування, натиснувши Файл> Налаштування (на macOS, Android Studio> Налаштування).
  2. На панелі ліворуч натисніть Редактор> Стиль коду> XML.
  3. У правому верхньому куті правої панелі виберіть Встановити з> Заздалегідь визначений стиль> Android
  4. Натисніть кнопку ОК.

Що можна знайти тут -> Відомі проблеми з Android Studio та Android Gradle Plugin

Редагувати: тепер це виправлено у студії Android версії 3.5.2


3
  • ctrl + alt + s
  • Шукати XML

Я хотів зробити ті ж кроки, що і перша відповідь, але мені просто потрібно було змінити схему за замовчуванням на проект.

Я сподіваюся, що ви також вирішите це таким чином. Вибачте за мою англійську !

введіть тут опис зображення

введіть тут опис зображення


1

Якщо у вас визначений спеціальний стиль коду, вам потрібно вказати тип для кожного правила: тег або атрибут.

Схоже, після оновлення, якщо ви не вкажете тип, правила застосовуватимуться до обох. Не впевнений, що це помилка, але я це виправив.

Це не працює на 3.5

Після додавання типу атрибута до кожного правила воно працювало


1

Дотримуйтесь цих кроків для версії Windows "Android Studio 3.5"

1: Натисніть на файл у меню.

2: Перейдіть у Налаштування.

введіть тут опис зображення.

3: Натисніть Редактор.

4: Клацніть на стиль коду

5: Клацніть на XML.

введіть тут опис зображення

6: Клацніть на "Встановити з ..." у правому верхньому куті.

7: Виберіть заздалегідь визначений стиль.

8: Виберіть Android.

введіть тут опис зображення

9: Клацніть OK.


1

3.5.0 відомий випуск

Під час редагування XML-коду IDE може застосувати неправильний стиль коду, коли ви виберете « Код> Код переформатування» на панелі меню. Щоб вирішити цю проблему, скиньте відповідний стиль коду Android таким чином:

  • Відкрийте вікно Налаштування, натиснувши Файл> Налаштування (на macOS, Android Studio> Налаштування ).
  • На панелі ліворуч натисніть Редактор> Стиль коду> XML .
  • У правому верхньому куті правої панелі виберіть Встановити з> Заздалегідь визначений стиль> Android .
  • Натисніть кнопку ОК .
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.