Edited at

Xamarin の Visual Studio 項目テンプレート作成上のメモ

More than 1 year has passed since last update.


はじめに


  • 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 用のテンプレートを作成し、動作確認した結果は以下の通り。