Visual Studio 2017 version 15.7 のプレビューが提供開始となり、モバイル開発者向けの XAML エクスペリエンスが大幅に向上しました。WPF と UWP を強化する同じ IntelliSense エンジンによって Xamarin.Forms の XAML の編集のエクスペリエンスを強化しました。これにより、マッチングの改善、IntelliSense のバインディング/コマンド、ライトバルブの提案、コードナビゲーション、リンティング、リソース補完、マークアップ拡張の完了など、開発者向けに機能強化を図りました。
本記事では、XAML IntelliSense のエクスペリエンスの機能強化の一部を紹介します。
マッチング
入力時に、IntelliSense のエンジンが提案します。残念ながら、タイプミスを入力したり、提案がたくさんある場合は、必要なものを正確に見つけることが難しい場合があります。このリリースでは、コントロール名とプロパティ名のマッチングが改善され、正しい提案を確実に受け取ることができます。
- ファジーマッチング:現在のマッチングアルゴリズムは、正確な文字列の一致のみを探します。僅かなタイプミスであっても、何の提案もありません。タイプミスの場合でも、新しいアルゴリズムは一致を提案します。例:
Stck
はStackPanel
を提案します。 - サブストリングマッチング:このマッチングは、コントロール名の一部を知っているが、正確な名前が分からないシナリオに最適です。また、コントロールのグループを探している場合にも便利です。例:
Layout
は、StackLayout
、GridLayout
、RelativeLayout
などを提案します。 - CamelCase マッチング:CamelCase タイプにはショートカットを用意しています。例:
SL
はSlackLayout
を提案します。
バインディングコンテキスト IntelliSense
バインドコンテキストを XAML に設定する場合(コードビハインドのコンストラクタとは対照的に)、Visual Studio ではデータバインディングまたはコマンドを実行するときの提案を提供します。
ライトバルブの提案
Visual Studio では、XML の名前空間のインポートが欠落しているようなものについて、ライトバルブによる提案をするようになりました。
リソースの IntelliSense
編集するページで定義するリソースが IntelliSense サービスに利用可能になり、提案できるようになりました:
アプリケーションレベルで定義したリソースは現時点では提案として表示されません。
マークアップ エクステンション IntelliSense
Binding、StaticResource、x:Static などのマークアップ エクステンションが、中括弧を開いた後に表示されるようになりました。
XML 名前空間 IntelliSense
Visual Studio では、XML 名前空間を編集する際に、提案するようになりました。
リンチング
Xamarin.Forms XAML をリントして、2つの ContentPage.Content
の値を提供するなど、マークアップが有効でない場合に提案します。
タグ リファクタリング
この機能は、入力時に XAML 要素の開始タグまたは終了タグの両方を更新します。
弊社では、Xamarin に関するさまざまな情報を日本語で発信しています。詳細は、こちらの弊社 Web ページをご覧ください。
Xamarin のパートナー一覧や、トレーニング情報はこちらのページにて随時更新中です。
記事参照:
2018年 4月 11日 Pierce Boggan
© 2018 Xamarin Inc.
「New Xamarin.Forms XAML IntelliSense in Visual Studio 2017」