2

當前我正在添加一個自定義文件類型(例如.cft)到我的Visual Studio項目使用和項目實例(EnvDTE.ProjectItem)和方法AddFromFile( 「.cft」)。Visual Studio擴展包 - 自定義文件類型 - 編輯器和圖標

不是我的問題是如何告訴Visual Studio使用所有.cft文件的標準XML編輯器,以及如何爲所有.cft文件(對於解決方案資源管理器)分配圖標。

注意,我還指定自定義工具文件,如果這個使用下面的代碼有差別:

var vsProjItem = projectItem.Object as VSProjectItem; 
pitem.Properties.Item("CustomTool").Value = "MyCustomToolName"; 

回答

0

我認爲你需要創建以下結構的新的ItemTemplate:

__TemplateIcon.ico 
YourTemplateName.vstemplate [Compile it as vstemplate] 
YourFile.cft 

以下結構應該生成一個* .zip文件,然後可以將它放置到Visual Studio模板文件夾中,並在以後通過EnvDTE進行引用。

這是YourTemplateName.vstemplate:\ Program Files文件:從MZTOOLS

的Visual Studio顯示在新建項目對話框 項目模板存儲在文件夾C

<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> 
    <TemplateData> 
    <DefaultName>YourTemplateNameblah</DefaultName> 
    <Name>Blahblahblah</Name> 
    <Description>BlahBlahBlah</Description> 
    <Icon>__TemplateIcon.ico</Icon> 
    <ProjectType>?? Your project type ??</ProjectType> 
    <SortOrder>10</SortOrder> 
    </TemplateData> 
    <TemplateContent> 
    <References /> 
    <ProjectItem SubType="Xml" TargetFileName="$fileinputname$.cft" ReplaceParameters="true">YourFile.cft</ProjectItem> 
    </TemplateContent> 
</VSTemplate> 

報價(「CSharp」, 「VisualBasic」等),技術(「Web」,「」)的文件夾中存儲 的Studio \ Common7 \ IDE \ ItemTemplatesCache雲「等)和區域設置 (」1033「等)。

自動化模型(EnvDTE,EnvDTE80)提供 EnvDTE80.Solution2.GetProjectItemTemplate方法來獲取給定的項目項模板名稱(如 「類」)一期工程項目 模板文件名和編程語言(如作爲「CSharp」或 「VisualBasic」)。

擁有模板文件名後,可以使用AddFromTemplate方法將項目項添加到 ProjectItems集合中。注意:此 方法返回null(Nothing)而不是創建的EnvDTE.ProjectItem ,因此您可能需要在 ProjectItems集合中找到創建的項目項目。請參閱PRB:Solution.AddXXX和 ProjectItems.AddXXX方法返回Nothing(null)。

http://www.mztools.com/articles/2014/MZ2014009.aspx

相關問題