はじめに
- Xamarin.Native の項目テンプレートを作成するときの設定値のメモ
- Xamarin.Native の項目テンプレートを作成しようとしたきに、通常の C# のテンプレートで作成すると、Xamarin.Android のプロジェクトに新規項目を追加しようとしても、作成したテンプレートが Visual Studio 上で選択できなかった。
- 調査したところ、.template ファイルで TemplateGroupID を設定することで、Visual Studio 上でテンプレートを選択できるようになった。
予備知識
Visual Studio での項目テンプレートの作成方法(テンプレートの作成、配布用の VSIX プロジェクトの作成など)は、以下サイトなどを参照してください
方法
項目テンプレートの .template ファイルで、TemplateGroupID を設定します
以下に Android、iOS の設定を記載します
プラットフォーム | 設定値 |
---|---|
Android | MonoAndroid |
iOS | Xamarin.iOS |
以下に、Android 用の項目テンプレートの .template ファイルの例を示します。
<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>XamarinItemTemplateSample.Android</Name>
<Description>XamarinItemTemplateSample.Android</Description>
<Icon>XamarinItemTemplateSample.Android.ico</Icon>
<TemplateID>59ba9664-372a-42d9-82a1-e8a49580f757</TemplateID>
<ProjectType>CSharp</ProjectType>
<TemplateGroupID>MonoAndroid</TemplateGroupID>
<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
<DefaultName>Class.cs</DefaultName>
</TemplateData>
<TemplateContent>
<References>
<Reference>
<Assembly>Mono.Android</Assembly>
</Reference>
</References>
<ProjectItem SubType="Code" TargetFileName="$fileinputname$.cs" ReplaceParameters="true">Class.cs</ProjectItem>
</TemplateContent>
</VSTemplate>
確認
シンプルな VSIX プロジェクトを作成して、Android, iOS 用のテンプレートを作成し、動作確認した結果は以下の通り。