自定义文件的 VS 2015 项目模板,能够在所有跨平台上添加 Project/SubProject

VS 2015 Item Template for custom file with ability to add on all cross-platform Project/SubProject

目前我的一个要求是将前缀为 .zbl 的特定文件添加到任何类型的项目中,例如 'Shared' 、'class library'、UWP 等等在。我正在使用 ITEM TEMPLATE Project.

遵循 VSIX 方法

问题是,当您在非 Class 图书馆项目时,您无法在项目 -> 添加新项目 -> 新建自定义项目中找到你的项目 "Page.zbl"

这个问题来自 HERE,因为 MSDN 说可以在 4 个类别中指定项目模板:Windows / Office /Database/Web

您也不能在模板文件中设置以上值中的一个以上,那么如何向 VS 2015 添加一个所有项目类型都可以访问的项目模板?

这是我的示例 VS ItemTemplate:

<VSTemplate Version="3.0.0" Type="Item">  
<TemplateData>  
    <Name>Page1</Name>  
    <Description>An empty Zebble file</Description>  
    <Icon>zebble.ico</Icon>  
    <ProjectType>CSharp</ProjectType>  
    <ProjectSubType>??????</ProjectSubType> : HERE IS THE ISSUE 
    <DefaultName>Page1.zbl</DefaultName>  
</TemplateData>  
<TemplateContent>  
    <ProjectItem>Page.zbl</ProjectItem>  
</TemplateContent>  

假设VS 2015[Update 3]是当前稳定的开发环境,首先让我们看看这些路径下的VS结构(win 10):

1/ C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ItemTemplates\

有一些文件夹代表当前 item-templates VS-IDE,据我测试,你不能在那里添加你的 cusotm 文件夹来分离你的模板,因此你需要 select 一个作为参考,例如 CSharp(TemplateID 需要这个),

2/ 接下来,您需要在 Item-Template 项目上为 TemplateData 节点设置以下配置:

<?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>YOUR ITEM  </Name>
    <Description>Zebble Page Tempalte </Description>
    <Icon>ZebblePageItemTemplate.ico</Icon>
  **<ProjectType>CSharp</ProjectType>**
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
  **<NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>**
    <DefaultName>Cross-platform Page.zbl</DefaultName>
  **<TemplateID>Microsoft.CSharp.TextFile</TemplateID>**
  **<AppliesTo>CSharp + WindowsXaml + WindowsXamlPage + WindowsXamlCodeBehind + MultiTarget</AppliesTo>**
    <CreateInPlace>true</CreateInPlace>
    <Hidden>false</Hidden>
    <CreateNewFolder>true</CreateNewFolder>
    <LocationField>Enabled</LocationField>
    <SpecialTemplateType>EmptyShared</SpecialTemplateType>
   <EnableLocationBrowseButton>true</EnableLocationBrowseButton>    

MyPage.zbl

3/ 其他配置应通过 属性 window 应用于模板属性和 Vsix 引用,如下所示:

最后你的结果是:

如果您看不到结果,您需要通过 运行 管理员模式下的 CMD 中的以下命令重新启动您的 VS

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>devenv /setup