プロジェクト テンプレートにタグを追加する
Visual Studio 2019 バージョン 16.1 Preview 2 以降では、言語、プラットフォーム、プロジェクト タイプのタグを自分のプロジェクト テンプレートに追加できます。
タグは、 [新しいプロジェクト] ダイアログ ボックスの 2 つの場所で使用されます。
テンプレートの説明の下にタグが表示されます。
タグを使って、テンプレートを検索およびフィルター処理できます。
タグを追加するには、 .vstemplate XML ファイルを更新します。 Visual Studio に組み込まれているテンプレート タグを使用するか、カスタム テンプレート タグを作成することができます。 テンプレート タグは、Visual Studio 2019 の [新しいプロジェクト] ダイアログ ボックスでのみ表示されます。 以前のバージョンの Visual Studio では、テンプレート タグがテンプレートの表示方法に影響することはありません。
タグを追加または編集する
次のいずれかの操作を行うときに、プロジェクト テンプレートの .vstemplate XML でタグを追加または編集できます。
- [テンプレートのエクスポート] ウィザードを使って新しいプロジェクト テンプレートを作成する。
- 既存のプロジェクト テンプレートを更新する。
- 新しい VSIX プロジェクト テンプレートを作成する。
構文
<LanguageTag> Language Name </LanguageTag>
<PlatformTag> Platform Name </PlatformTag>
<ProjectTypeTag> Project Type </ProjectTypeTag>
属性
高度なユーザー シナリオでは、次の省略可能な属性を使用できます。
属性 | 説明 |
---|---|
Package |
Visual Studio のパッケージ ID を指定する GUID です。 |
ID |
Visual Studio のリソース ID を指定します。 |
構文:
<LanguageTag Package="{PackageID}" ID="ResourceID" />
<PlatformTag Package="{PackageID}" ID="ResourceID" />
<ProjectTypeTag Package="{PackageID}" ID="ResourceID" />
Elements
子要素
なし。
親要素
要素 | 説明 |
---|---|
TemplateData | (必須) テンプレートをカテゴリに分類し、その [新しいプロジェクト] ダイアログ ボックスまたは [新しい項目の追加] ダイアログ ボックスでの表示方法を定義します。 |
テキスト値
Package
と ID
属性を使わない限り、テキスト値が必要です。
テキストによってテンプレートの名前を指定します。
組み込みのタグ
Visual Studio には、組み込みのタグのリストが用意されています。 組み込みのタグを追加すると、そのタグによりローカライズされたリソースが表示されます。
Visual Studio で利用できる組み込みのタグの一覧を次に示します。 対応する値をかっこ内に表示します。
言語タグ | プラットフォーム タグ | プロジェクト タイプ タグ |
---|---|---|
C++ (cpp ) |
Android (android ) |
クラウド (cloud ) |
C# (csharp ) |
Azure (azure ) |
コンソール (console ) |
F# (fsharp ) |
iOS (ios ) |
デスクトップ (desktop ) |
Java (java ) |
Linux (linux ) |
拡張機能 (extension ) |
JavaScript (javascript ) |
macOS (macos ) |
ゲーム (games ) |
Python (python ) |
tvOS (tvos ) |
IoT (iot ) |
クエリ言語 (querylanguage ) |
Windows (windows ) |
ライブラリ (library ) |
TypeScript (typescript ) |
Windows アプリ SDK (windowsappsdk ) |
機械学習 (machinelearning ) |
Visual Basic (visualbasic ) |
Xbox (xbox ) |
モバイル (mobile ) |
XAML (xaml ) |
Office (office ) |
|
その他 (other ) |
||
サービス (service ) |
||
テスト (test ) |
||
UWP (uwp ) |
||
Web (web ) |
||
WinUI (winui ) |
例
Visual C# アプリケーションのプロジェクト テンプレートのメタデータの例を次に示します。
<VSTemplate Type="Project" Version="3.0.0"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>My template</Name>
<Description>A basic template</Description>
<Icon>TemplateIcon.ico</Icon>
<ProjectType>csharp</ProjectType>
<LanguageTag>csharp</LanguageTag>
<PlatformTag>windows</PlatformTag>
<PlatformTag>linux</PlatformTag>
<PlatformTag>My Platform</PlatformTag>
<ProjectTypeTag>console</ProjectTypeTag>
<ProjectTypeTag>desktop</ProjectTypeTag>
</TemplateData>
<TemplateContent>
<Project File="MyTemplate.csproj">
<ProjectItem>Form1.cs<ProjectItem>
<ProjectItem>Form1.Designer.cs</ProjectItem>
<ProjectItem>Program.cs</ProjectItem>
<ProjectItem>Properties\AssemblyInfo.cs</ProjectItem>
<ProjectItem>Properties\Resources.resx</ProjectItem>
<ProjectItem>Properties\Resources.Designer.cs</ProjectItem>
<ProjectItem>Properties\Settings.settings</ProjectItem>
<ProjectItem>Properties\Settings.Designer.cs</ProjectItem>
</Project>
</TemplateContent>
</VSTemplate>