VS Package Extension 将新项目类型添加到新项目选项窗口

Posted

技术标签:

【中文标题】VS Package Extension 将新项目类型添加到新项目选项窗口【英文标题】:VS Package Extension to add a new project type to the new projects options window 【发布时间】:2014-05-06 20:00:45 【问题描述】:

我想创建一个 Visual Studio 扩展。我选择了 Package 选项,因为 AddIn 选项将从 Visual Studio 2013 及更高版本中弃用。

所以我安装了 Visual Studio 2012 和 Visual Studio SDK 2012,并创建了一个新的 VS Package 项目。

现在,我希望我的包能够让用户创建一个新类型的项目。即:我想扩展右键单击->新建项目选项以包含一个新的项目模型,这将是一个标准的 Visual C++ 项目,带有一些额外的配置、链接、引用等。

我搜索了很多,但一无所获。

你们中有人知道这个目标吗?

提前致谢!

【问题讨论】:

【参考方案1】:

我认为Visual Studio Template Schema Reference 包含创建自定义项目模板所需的所有信息;见:http://msdn.microsoft.com/en-us/library/xwkxbww4.aspx

您可以从现有项目中派生项目模板,这可能是可行的方法,因为它创建了一个只需要进行一些自定义的有效模板。可以使用File 菜单中的Export Template 命令完成模板导出。

模板向导将创建一个包含模板清单和所有引用文件的ZIP 文件;只需提取存档并以您想要的方式对其进行自定义(添加/删除文件,更改清单中的名称和描述等信息)。获得自定义模板后,创建一个新的 VISX 包项目并将模板 ZIP 文件添加到其中(使用 Add Existing Item 命令)。

最后一步是将Asset 添加到VISX 清单。在VSIX 设计器中打开source.extension.vsixmanifest 文件,转到Assets 选项卡并单击New 按钮;这将打开一个对话框来设置资产...选择 Microsoft.VisualStudio.ProjectTemplate 作为类型 - 和 File on filesystem 作为源。这将允许您选择之前添加的ZIP 文件。构建包 - 你就完成了。

【讨论】:

嗨@Matze,感谢您的回复!我将更详细地解释我必须做什么:我想要一个扩展,它:使用户能够从新类型创建一个新项目(即:从新项目模板,具有特定的依赖关系和其他定义)。在创建新项目时,我想导入现有解决方案并将新项目定位在该解决方案的特定文件夹中。您知道在创建新模板的新项目时编写这样的代码的方法吗?我可以在模板代码或整个包代码中使用任何事件/其他处理程序吗? 向导实现可能是合适的;请参阅:msdn.microsoft.com/en-us/library/ms171411.aspx 和:msdn.microsoft.com/en-us/library/ms185301.aspx。我建议打开另一个问题,因为这是一个完全不同的问题...... 完成:***.com/questions/22744216/… 嗨@Matze,我尝试使用模板向导。它确实具有在项目创建时调用的 RunStarted 方法,但是那里没有太多选项...我正在尝试更改新的项目目标目录和解决方案,但没有成功。我想知道:如果我将返回到简单的模板+包选项,我是否有任何方法可以编写将在项目创建时调用的代码,并且能够更改项目父解决方案等.?我认为将来我需要更多仅在 package 选项中可用的功能,所以我更愿意返回...

以上是关于VS Package Extension 将新项目类型添加到新项目选项窗口的主要内容,如果未能解决你的问题,请参考以下文章

VS2010 Extension实践

Hybris的extension和ABAP的package

java基础--extension package guava cache

vs extension

Kotlin Android 视图绑定:findViewById vs Butterknife vs Kotlin Android Extension

Grpc Proto To Nuget Package 插件使用说明