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

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

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

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

Пользователь выбирает axml/xml который хочет отредактировать и вызывает контекстное меню: 1df36159c70c48fe843b047f0023ef98.png Предлагаем пользователю указать путь до IDE и, если нужно, изменить шаблон пустого Android проекта.c07e401ec9144658a5fb0215b7033046.png Под разрешением пользователя, переводем все ресурсы из папки Resources в нижний регистр и заменяем axml на xml. Копируем шаблонный андроид проект во временную папку, изменяем в gradle.build путь до папки ресурсов Xamarin проекта. Запускаем Android IDE с ключом = путь к проекту (в идеале хотелось бы ещё и чтобы открывался нужный файл, но пока у меня это не получается).3e18b303369e4014b4d9216946b082e1.png ??? PROFIT!!! Имеем прекрасный дизайн-тайм с крутым автокомлитом и все изменения в Android IDE автоматически сохраняются в нашем Xamarin проекте. Плагин можно поставить через Tools\Extensions and Updates — ввести «XamarIDEA». Ссылка на вебморду — тыц.Ссылка на исходный код — тыц (пулл-реквесты категорически приветствуются!) :-).Надеюсь, кому-нибудь это поможет, так же как и мне.

© Habrahabr.ru