VSX:自定义项目类型

时间:2012-04-16 23:41:37

标签: visual-studio visual-studio-2010 vsx vsix

我正在尝试创建一个适用于VS2010 Standard / Pro / Ultimate以及Integrated Shell的项目模板。

我已经让VS2010 Std部件工作了,但是对于我的生活我无法使用Int Shell工作 - 可能是因为我的安装没有任何CSharp项目。

在谷歌上搜索了整整一天后,我偶然发现了IronPython的vstemplate文件,如下所示:

<VSTemplate Version="2.0.0" Type="Project" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>Python Application</Name>
    <Description>A project for creating a command-line application</Description>
    <Icon>__TemplateIcon.ico</Icon>
    <ProjectType>Python</ProjectType>
    <SortOrder>50</SortOrder>
    <NumberOfParentCategoriesToRollUp>2</NumberOfParentCategoriesToRollUp>
    <CreateNewFolder>false</CreateNewFolder>
    <DefaultName>PythonApplication</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
  </TemplateData>
  <TemplateContent>
    <Project File="PythonApp.pyproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="true" OpenInEditor="true" TargetFileName="$safeprojectname$.py">Program.py</ProjectItem>
    </Project>
  </TemplateContent>
</VSTemplate>

这些模板适用于所有版本,并且具有与MSDN中提到的不同的ProjectType:ProjectType = Python。他们是怎么做到的?如果我使用CSharp / Web / VisualBasic之外的其他东西,我的项目类型将被排除在外。

感谢;

1 个答案:

答案 0 :(得分:4)

我没有深入研究您所描述的问题,但我想这两个提示将帮助您解决问题。简而言之,您应该关心自定义ProjectNode类的ProjectType属性,并确保您已在VSX attrubutes和自定义.template文件中的某个位置指定它(我不记得我在哪里做到了这一点)。所以我提到了那些链接:

希望有所帮助!