我创建了一个自定义语言包,它扩展了 ProjectPackage。我可以正确创建新项目。我希望能够使用 Add->New Item... (Ctrl+Shift+A) 菜单项将新的源文件添加到项目中。但是,当我此时单击此选项时,可用模板列表为空。我想将我自己的自定义模板添加到此项目类型的可用模板菜单中。是否有一些文档可以完成此操作?我看到的唯一提及是注册表黑客,但我认为必须有一种方法可以以编程方式进行。
有没有可以覆盖的特定方法来填充列表?我真的需要制作模板吗,或者我可以只显示“模板名称”、“图标”并提供正确的文件扩展名(创建时文件应该是空的,所以我认为模板很大程度上浪费在我想要的东西上去做)。
这是我到目前为止一直在走的路。我想我可以在我的自定义 .vproj 文件中设置我的项目类型和 GUID(.vproj 是我的自定义项目注册的文件扩展名)。我想我可以快速创建一个与我的 .vproj 文件具有相同 ProjectType 的项目模板。
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<Icon>VerilogSource.ico</Icon>
<DefaultName>module.v</DefaultName>
<Name>Basic Verilog Module</Name>
<Description>
A basic Verilog module for quickly adding new files to the project.
</Description>
<ProjectType>VerilogProject</ProjectType>
</TemplateData>
<TemplateContent>
<ProjectItem TargetFileName="$fileinputname$.v"
ReplaceParameters="true">module.v</ProjectItem>
</TemplateContent>
</VSTemplate>
唉,这个模板根本没有出现,即使我已经将它包含在 VSIX 中并将它复制到输出目录中。如果我将此模板放在与我的 .vproj 相同的文件夹中,它将显示为用于创建新项目的模板(错误!)并且仍然不会出现在我的新项目列表中。这都可能源于我不使用 VSTemplate 来创建我的项目这一事实。相反,我使用 [ProvideProjectFactoryAttribute] 让 VS2010 知道我的 vproj 文件在哪里,它将使用 vproj 文件(我猜你可以称之为模板,但它不是 VSTemplate,它是一个项目)作为新的基础项目关闭。
这就是我目前所处的位置,并且我将继续尝试新事物。我希望有人可能有我正在寻找的答案。谢谢,
贾瓦