Visual Studio 自定义模版接受用户输入参数.docxVIP

Visual Studio 自定义模版接受用户输入参数.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何:使用向导来处理项目模板(look MSDN)Visual Studio 2005 提供了 IWizard 接口。在实现该接口后,您可以在用户根据模板创建项目时运行自定义代码。项目模板的自定义可用于:显示收集用户输入以参数化模板的自定义 UI。添加要在模板中使用的参数值。向模板添加其他文件。执行项目的 Visual Studio 自动化对象模型允许的几乎任何操作。在创建项目过程中的各个时间(从用户单击“新建项目”对话框上的“确定”开始)都会调用 IWizard 接口方法。接口的每个方法都被命名以描述调用该方法的时刻。例如,当 Visual Studio 开始创建项目时,它立即调用 RunStarted,这使其成为编写自定义代码以收集用户输入的一个良好位置。为自定义向导编写的大多数代码将使用 DTE 对象(它是 Visual Studio 自动化对象模型中的主对象)来自定义项目。有关自动化对象模型的更多信息,请参见 Visual Studio Industry Partner (VSIP) program 文档。创建自定义模板向导本主题显示如何创建一个自定义向导,该向导在创建项目之前打开一个 Windows 窗体。此窗体允许用户添加自定义参数值,此值随后在创建项目的过程中被添加到源代码中。主要步骤如下所示,其中每一步都有详细解释。创建自定义模板向导创建实现 IWizard 接口的程序集。将此程序集安装到全局程序集缓存中。创建一个项目并使用“导出模板”向导根据该项目创建模板。通过在 .vstemplate 文件中添加 WizardExtension 元素来修改模板,以将此模板链接到实现 IWizard 的程序集。使用自定义向导创建新项目。实现 IWizard此过程的第一步是创建实现 IWizard 的程序集。此程序集使用 RunStarted 方法显示一个 Windows 窗体,该窗体允许用户添加一个自定义参数值,随后将在创建项目的过程中使用此值。注意 本示例使用 Visual C# 实现 IWizard实现 IWizard创建一个新类库项目。创建实现 IWizard 接口的类。请参见下面的 Visual C# 示例的代码,该示例完全实现了 IWizard 接口。本示例包含两个代码文件:IWizardImplementation,它是一个实现 IWizard 接口的类;以及 UserInputForm,它是用于获得用户输入的 Windows 窗体。IWizardImplementation 类IWizardImplementation 类包含 IWizard 的每个成员的方法实现。在本示例中,只有 RunStarted 方法执行任务。所有其他方法要么不执行任何任务,要么返回 true。RunStarted 方法接受四个参数:Object 参数,可强制转换为根 _DTE 对象,以使您能够自定义项目。Dictionary 参数,它包含模板中所有预定义参数的集合。有关模板参数的更多信息,请参见模板参数。WizardRunKind 参数,它包含有关所使用的模板种类的信息。Object 数组,它包含通过 Visual Studio 传递给向导的一组参数。本示例将一个来自用户输入窗体的参数值添加到 Dictionary 参数中。项目中 $custommessage$ 参数的每个实例都将替换为用户输入的文本。C#using System;using System.Collections.Generic;using Microsoft.VisualStudio.TemplateWizard;using System.Windows.Forms;using EnvDTE;namespace CustomWizard{publicclass IWizardImplementation:IWizard {private UserInputForm inputForm;privatestring customMessage;// This method is called before opening any item that // has the OpenInEditor attribute.publicvoid BeforeOpeningFile(ProjectItem projectItem) { }publicvoid ProjectFinishedGenerating(Project project) { }// This method is only called for item templates,// not for project templates.publicvo

文档评论(0)

nnh91 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档