(Xamarin.Forms)MFractor
MFractorとは?
@ytabuchi 氏のTweetで知ったのですが…。
#Xamarin Studio用のReSharperみたいなやつです! / “mfractor | MFractor - Incredible Xamarin tools” https://t.co/QX15gDc0Lj
— 田淵 義人@エクセルソフト (@ytabuchi) 2017年4月28日
Xamarin Studio用のReSharperみたいなやつ。
筆者のようにMac OS上でXamarin Studioを使っている人には非常にありがたいツールです。
今のところXamarin Studio用の無償版しかありませんが、Visual Studio For Mac向けに有償版が出る予定っぽいです。
@ytabuchi @makopy_inside Free for the moment but there will be a paid version soon (post visual studio mac)
— Matthew Robbins (@matthewrdev) 2017年4月28日
何ができるの?
基本的にはMFractorの公式ドキュメントを読むのが一番です。
概要(和訳)
あまり英語は得意ではないですが…。
覚え書きとして要点を和訳して書き留めておきます。
Code Actions
Using Code Actions - mfractor docs
Code Issue Fixes(問題の修正)
XAML分析エンジンの分析により検出された問題の該当箇所が黄色の下線でマークされる。
マークされた箇所で右クリックして[修正]メニューから実施したい修正を選択することで修正可能。
Code Generation(コード生成)
本来手作業で書くべき定型のコードを素早く作成できる。
例えば、
- ビュー要素のリソースディクショナリを生成
- 不足しているBindingをすべて一括して実装
Code Refactoring(リファクタリング)
XAMLドキュメント内でXAMLと.NETのシンボルを操作できる。
ユーザー入力に基づいて、XAMLおよび(または)C#の変更を行う。
例えば、
Code Organisation(コード整理)
XAMLコードを素早くフォーマットし、XAMLをキレイにわかりやすくできる。
例えば、
- ノード上のすべての属性を名前と名前空間で並べ替え
- ノード上の属性を別の行または同じ行に縮小/展開
- ノードの終了タグを展開/折りたたみ
Xamarin.Forms Quick Start
Xamarin.Forms Quickstart - mfractor docs
Configuring A Binding Context(Binding Contextの構成)
BindingContext
プロパティがXAML上で明示的に設定されている場合、MFractorはBinding式を解析し、XAMLからBinding Contextへのリファクタリングを実行できる。
ViewModelLocator
を使用して、Binding Contextを明示的に構成する。
Mvvm Naming Conventions(MVVM命名規則)
以下の命名規則により、ViewをViewModelに暗黙的に関連づける。
ViewModel
,PageModel
,Model
で終わるクラスは、XAML(View)に対応するViewModelと見なされるPage
またはView
で終わるXAMLファイルは、ViewModelに対応するXAML(View)と見なされる- ViewとViewModelが
Page
,View
またはViewModel
なしで同じ名前を共有する場合、MFractorは暗黙的な関連付けを行う
LoginPage.xaml , LoginPage.xaml.cs , LoginViewMode.cs で考えてみると…。
- LoginPage.xaml は、XAML(View)と見なされる
- LoginPage.xaml.cs は、コードビハインドクラスと見なされる
- LoginViewModel.cs は、ViewModelと見なされる
Using Mvvm Navigation(MVVMナビゲーションの使用)
MVVM命名規則を適用することにより、View, コードビハインドクラス, ViewModel間を素早く移動できる。
右クリックして選択:
- Go-To ViewModel
- Go-To Code Behind Class
- Go-To Xaml View