Share via


プロジェクト テンプレートにタグを追加する

Visual Studio 2019 バージョン 16.1 Preview 2 以降では、言語、プラットフォーム、プロジェクト タイプのタグを自分のプロジェクト テンプレートに追加できます。

タグは、 [新しいプロジェクト] ダイアログ ボックスの 2 つの場所で使用されます。

  • テンプレートの説明の下にタグが表示されます。

    [新しいプロジェクト] ダイアログでのタグを含むプロジェクト テンプレート

  • タグを使って、テンプレートを検索およびフィルター処理できます。

    [新しいプロジェクト] ダイアログ ボックスでの検索とフィルター処理

タグを追加するには、 .vstemplate XML ファイルを更新します。 Visual Studio に組み込まれているテンプレート タグを使用するか、カスタム テンプレート タグを作成することができます。 テンプレート タグは、Visual Studio 2019 の [新しいプロジェクト] ダイアログ ボックスでのみ表示されます。 以前のバージョンの Visual Studio では、テンプレート タグがテンプレートの表示方法に影響することはありません。

タグを追加または編集する

次のいずれかの操作を行うときに、プロジェクト テンプレートの .vstemplate XML でタグを追加または編集できます。

構文

<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 (必須) テンプレートをカテゴリに分類し、その [新しいプロジェクト] ダイアログ ボックスまたは [新しい項目の追加] ダイアログ ボックスでの表示方法を定義します。

テキスト値

PackageID 属性を使わない限り、テキスト値が必要です。

テキストによってテンプレートの名前を指定します。

組み込みのタグ

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>

関連項目