我正在通过 VSIX 扩展项目实现一组 MEF 扩展。这适用于小型内部 DSL。
我可以让语法突出显示工作得很好。
我想做的是能够在Visual Studio的"打开文件"对话框中有一个关联的文件筛选器条目。
有没有办法通过 VSIX 扩展执行此操作?如果没有,向该列表添加过滤器的批准方法是什么?
我在VSPackage系统中没有看到任何可以做到这一点的东西。
如果您仅使用自定义语言服务开发了包,并且希望能够创建自定义项目类型的项目,则需要开发项目系统(请参阅 IronPython 项目系统示例并查看 MSDN)。
但是,如果您只想将自定义扩展添加到"打开文件"对话框中的现有项目组之一 - 则只需创建自定义项模板。像这样沉吟:
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
<TemplateData>
<DefaultName>Class.my</DefaultName>
<Name>MY File Class</Name>
<Description>An empty class definition</Description>
<Icon>__TemplateIcon.ico</Icon>
<ProjectType>[PUT HERE THE PROJECT TYPE YOU WANT TO PLACE YOUR TEMPLATE UNDER]</ProjectType>
<SortOrder>10</SortOrder>
</TemplateData>
<TemplateContent>
<References />
<ProjectItem SubType="Code" TargetFileName="$fileinputname$.my" ReplaceParameters="true">Class.my</ProjectItem>
</TemplateContent>
</VSTemplate>
想要一个新模板的最简单方法是提取现有模板,从ZIP解压缩,调整所有需要的内容并将其安装回IDE。但您也可以从头开始创建它,并在 VS 中的设置过程中安装。我想你有足够的指示来深入挖掘;)