可以将语言、平台和项目类型标记添加到项目模板。
标记用于 “新建项目 ”对话框中的两个位置:
标记显示在模板说明下。
标记允许搜索和筛选模板。
可以通过更新 .vstemplate XML 文件来添加标记。 可以使用内置于 Visual Studio 中的模板标记或创建自定义模板标记。 模板标记仅显示在 Visual Studio 2019 “新建项目 ”对话框中。 模板标记不会影响模板在早期版本的 Visual Studio 中呈现的方式。
添加或编辑标签
执行下列作之一时,可能需要在项目模板的 .vstemplate XML 中添加或编辑标记:
- 使用“导出模板”向导创建新的项目模板。
- 更新现有项目模板。
- 创建新的 VSIX 项目模板。
Syntax
<LanguageTag> Language Name </LanguageTag>
<PlatformTag> Platform Name </PlatformTag>
<ProjectTypeTag> Project Type </ProjectTypeTag>
特性
可以在高级用户方案中使用以下可选属性:
| Attribute | Description |
|---|---|
Package |
指定 Visual Studio 包 ID 的 GUID。 |
ID |
指定 Visual Studio 资源 ID。 |
Syntax:
<LanguageTag Package="{PackageID}" ID="ResourceID" />
<PlatformTag Package="{PackageID}" ID="ResourceID" />
<ProjectTypeTag Package="{PackageID}" ID="ResourceID" />
Elements
子元素
没有。
父元素
| 元素 | Description |
|---|---|
| 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) |
Example
以下示例显示了 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>