向项目模板添加标签

Visual Studio 2019 版本 16.1 预览版 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" />

元素

子元素

无。

父元素

元素 描述
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>

请参阅