簡體   English   中英

Visual Studio 2013/2015 C ++項目模板丟失

[英]Visual Studio 2013/2015 C++ Item Templates Missing

我正在嘗試為Visual Studio 2013(專業)C ++項目制作一些簡單的項目模板,但是Visual Studio似乎正在與我作戰。 我開始使用“ File -> Export Template...向導,該向導完成並生成了一個zip文件,但可惜的是,在“ Add New Item對話框中找不到新模板,因此我開始手動編輯它以查看是否可以解決它。

這是我的測試.vstemplate文件:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>test</DefaultName>
    <Name>Test</Name>
    <Description>Test item template.</Description>
    <ProjectType>VC</ProjectType>
    <!--<SortOrder>10</SortOrder>-->
    <Icon>icon.ico</Icon>
  </TemplateData>
  <TemplateContent>
    <ProjectItem TargetFileName="$fileinputname$.h" ReplaceParameters="true">test.h</ProjectItem>
  </TemplateContent>
</VSTemplate>

我嘗試將VCVisualC用於<ProjectType> ,並將模板以壓縮和擴展形式放置在各種文件夾中。

<ProjectType>更改為CSharp並創建C#項目后,它將立即顯示。 有趣的是,如果%USERPROFILE%\\Documents\\Visual Studio 2013\\Templates\\ItemTemplates\\Visual C#目錄為空,則該模板現在會顯示在%USERPROFILE%\\Documents\\Visual Studio 2013\\Templates\\ItemTemplates%USERPROFILE%\\Documents\\Visual Studio 2013\\Templates\\ItemTemplates\\Visual C++ Project目錄,但是如果它的副本也位於Visual C#目錄中,它將在新項目對話框中顯示兩次。

我知道Visual Studio 2013 Express RC中存在一個錯誤,其中“新項”對話框將根本不顯示任何模板,即使是內置模板也是如此,因此我認為這可能是Visual Studio中的錯誤,或者僅僅是微軟令人不安地無視C ++的另一個例子。

我在這里缺少什么嗎,或者這是VS2013的錯誤? 如果是這樣,有人知道任何解決方法嗎?

編輯:Visual Studio 2015 RC中仍然存在此問題

有同樣的問題。 對我有用的解決方法是使用VS2013 Express版本,在該版本中C ++ Item模板可以正常工作(就像在VS2012 Pro / Express中一樣)。 我不知道為什么從Pro版本中刪除了這個方便的功能,但是仍然可以在免費快遞版本中繼續工作。

我第一次使用VS模板進行冒險時遇到了這個問題! 大獎!

經過幾個小時的擺弄之后,我現在至少可以在VS Community 2013中添加自己的模板。我認為 ,訣竅是添加<TemplateGroupID>WinRT-Common</TemplateGroupID> 作為參考,此項目模板在一個空的C ++項目中為我顯示:

<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>GameEngine Core Class</Name>
    <Description>Creates a header and source file for a new GameEngine Core class.</Description>
    <Icon>__TemplateIcon.png</Icon>
    <TemplateGroupID>WinRT-Common</TemplateGroupID>
    <ProjectType>VC</ProjectType>
    <DefaultName>GameEngineClassName</DefaultName>
  </TemplateData>
  <TemplateContent>
    <ProjectItem TargetFileName="$fileinputname$.cpp" ReplaceParameters="true" OpenInEditor="true">GameEngineClass.cpp</ProjectItem>
    <ProjectItem TargetFileName="$fileinputname$.h" ReplaceParameters="true" OpenInEditor="true">GameEngineClass.h</ProjectItem>
  </TemplateContent>
</VSTemplate>

對於TemplateGroupID ,默認值( VC-Native )或VC-Windows似乎都不能工作( 是完整列表)。 我不確定將WinRT-Common放入其中可能帶來的進一步影響。 它甚至沒有列出。

更多詳細信息:我從ComputeShader.vstemplate附帶的ComputeShader.vstemplate開始進行實驗,將其放置在templates文件夾中,然后修改文件直到它成為現在為止。 我一直認為將所有內容都放在.zip文件中非常重要,盡管它似乎一開始就可以工作,因為Visual Studio最終在檢測模板時會表現得很奇怪(在我意識到之前,這很令人沮喪。 )。 我想這與緩存有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM