В помощь мобильному разработчику

MFractor — инструмент повышения продуктивности для Xamarin Studio

Александр Алексеев

MFractor — это инструмент для повышения производительности разработчиков, предназначенный для Xamarin Studio на Mac, который помогает намного быстрее писать код и XAML для приложений Xamarin Forms, а также оперативно обнаруживать ошибки. Его можно считать почти полным аналогом ReSharper, однако, он предназначен именно для Xamarin Forms. Вы будете получать советы и подходящие команды в реальном времени при написании приложения в Xamarin Studio. Эта помощь подразделяется по четырем типам: рефакторинг, генерирование, систематизация и устранение ошибок.

 

Настройка и установка

Перейдите в MFractor и загрузите последнюю версию этого инструмента на Ваш Mac. Откройте Xamarin Studio и перейдите к Add-ins.

XamarinStudioAddIns

Затем перейдите к Install From File и найдите download. Нажмите кнопку Open.

После завершения установки инструмент потребует активации. Сначала закройте диспетчер надстроек (Add-in manager), затем введите свой адрес электронной почты и активируйте его. Теперь все готово к тому, чтобы приступать к работе с MFractor.

 

Неиспользуемые пространства имен

При первой загрузке XAML-страницы с установленным MFractor будет подчеркнуто значение локального атрибута xmlns. Наведите на него курсор, и вы увидите уведомление. Оно напомнит о том, что Вы не используете префикс.

Его можно удалить, или Mfractor может сделать это за Вас.

К сведению: Любую команду можно выполнить посредством MFractor, щелкнув правой кнопкой мыши или нажав клавиши ALT + Return.

 

ViewModel

Теперь, прежде чем MFractor станет действительно умным, необходимо убедиться, что страницы подключены к ViewModel, путем либо статического шаблона локатора, либо соглашения о присвоении имен. Сперва давайте создадим ViewModel под названием MainViewModel.cs.

Если вы подключаете ViewModel со статическим шаблоном локатора, создайте класс ViewModelLocator.

Затем установите BindingContext на странице.

 

Есть и другой способ, являющейся более предпочтительным, который состоит в том, чтобы использовать соглашения о присвоении имен. Это и проще и позволяет работать при использовании других платформ MVVM. Если префикс страницы и ViewModel совпадают, предполагается, что они подключены. Например, MainPage будет подключаться к MainViewModel.

 

Значение свойства

Теперь можно изменить метку для привязки к свойству во ViewModel, вызвав TestValue.

 

При наведении указателя мыши на TestValue Вы увидите, что это свойство не существует во ViewModel.

Чтобы создать свойство, щелкните правой кнопкой мыши или нажмите Alt + Return, а затем нажмите «генерировать имя свойства» — Generate property name TestValue в MainViewModel.

Теперь Вы перейдете к ViewModel, где можно согласиться с тем, чтобы это свойство было размещено. Затем будет создано свойство, как показано ниже.

 

Конвертеры

MFractor даже умеет обнаруживать то, что свойство не совпадает с типом, к которому оно привязано, а также может находить и понимать конвертеры. Допустим, мы привязали IsVisible к одному и тому же свойству.

 

В этом случае появится вот такая подсказка: Для решения этой проблемы необходимо создать конвертер.

Чтобы добавить правильную поддержку конвертеров, необходимо сначала добавить маленький атрибут. Добавьте следующий код в проект.

 

Затем создайте конвертер — TextToBoolConverter. Единственное отличие здесь состоит в том, что для определения преобразования типа необходимо добавить атрибут в верхнюю часть класса.

Затем добавьте преобразователь на страницу и подключите преобразователь к привязке IsVisible.

 

На этот раз предупреждение возникать не будет. Если изменить атрибут ValueConversion, чтобы возвращался другой тип, тогда, в этом случае, будет выдаваться предупреждение.

 

Дополнительная информация

В этой статье я только слегка прошелся по основным особенностям MFractor, и здесь осталось еще много неизученных нами возможностей и функций. Ознакомьтесь с документами, где описывается все, что может быть сделано с помощью данного инструмента, или посмотрите пошаговое видеоруководство Мэтью Роббинса на Channel9 с Джеймсом Монтемагно под названием MFractor – невероятный инструмент для Xamarin.

Автор: Adam Pedley
ИсточникXamarinHelp.com

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Xamarin Dev Days логотип
База данных

Написать ответ