Xamarin.Android: плагин к VS2013 для редактирования aXML в IntelliJ IDEA или Android Studio

в 15:40, , рубрики: android studio, axml, intellij idea, Mono и Moonlight, xamarin, Разработка под android

Xamarin предлагает неплохие средства для проектирования интерфейса iOS (интеграция с XCode). Однако то, что касается Android, вызывает уныние и печаль – никаких подсказок для редактирования xml (хотя, говорят, в каком-то виде они есть) и слабенький дизайнер. На юзервойсе и форуме народ давно уже просит интеграцию с Android IDE.

Xamarin.Android: плагин к VS2013 для редактирования aXML в IntelliJ IDEA или Android Studio - 1

Некоторые научились копировать ресурсы в Android проект, созданный в IDEA, Android Studio, etc. И потом копировать назад изменения в Xamarin проект. Я немного устал от этой процедуры и решил это автоматизировать при помощи плагина, который бы синхронизировал папку Resources между Xamarin и IDEA (Android Studio или любая другая IDE с поддержкой gradle) проектами. К счастью, мне не пришлось писать синхронизатор между папками (или делать хард-линки, требующие админские права), т.к. через gradle можно указать абсолютный путь к папке с ресурсами:
Xamarin.Android: плагин к VS2013 для редактирования aXML в IntelliJ IDEA или Android Studio - 2

Дальше спотыкаемся на том, что Android IDE требует, чтобы все ресурсы были в нижнем регистре и расширение axml было преобразовано в xml (Xamarin смирится с такими требованиями). Ну а теперь дело техники – написать плагин к Visual Studio. А это дело очень нехитрое, описывать не буду ибо talk is cheap — show me the code. Таким образом, алгоритм плагина следующий:

  1. Пользователь выбирает axml/xml который хочет отредактировать и вызывает контекстное меню:
    Xamarin.Android: плагин к VS2013 для редактирования aXML в IntelliJ IDEA или Android Studio - 3
  2. Предлагаем пользователю указать путь до IDE и, если нужно, изменить шаблон пустого Android проекта.
    Xamarin.Android: плагин к VS2013 для редактирования aXML в IntelliJ IDEA или Android Studio - 4
  3. Под разрешением пользователя, переводем все ресурсы из папки Resources в нижний регистр и заменяем axml на xml.
  4. Копируем шаблонный андроид проект во временную папку, изменяем в gradle.build путь до папки ресурсов Xamarin проекта.
  5. Запускаем Android IDE с ключом = путь к проекту (в идеале хотелось бы ещё и чтобы открывался нужный файл, но пока у меня это не получается).
    Xamarin.Android: плагин к VS2013 для редактирования aXML в IntelliJ IDEA или Android Studio - 5
  6. ????
  7. PROFIT!!! Имеем прекрасный дизайн-тайм с крутым автокомлитом и все изменения в Android IDE автоматически сохраняются в нашем Xamarin проекте.

Плагин можно поставить через ToolsExtensions and Updates — ввести «XamarIDEA». Ссылка на вебморду — тыц.
Ссылка на исходный код — тыц (пулл-реквесты категорически приветствуются!) :-).
Надеюсь, кому-нибудь это поможет, так же как и мне.

Автор: Nagg

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js