我正在编写VSIX来为VS 2013分发带有向导的多项目模板,该模板允许用户为我们的应用程序编写扩展。我在提供用户指南文档(chm文件)和模板时遇到问题。 VSIX清单允许我提供"入门指南"但是这些功能的文件支持不包括" CHM"文件。
我们使用RoboHelp创建CHM,还有一个创建html文件的选项。但是创建的html文件是分布在多个文件夹中的多个文件(有一个索引页面,其中包含指向所有其他html文件的链接)。我不知道如何将这些文件打包到VSIX中。
我在这里几乎没有问题;
如果我决定部署html帮助;我正在考虑部署入门帮助的压缩副本,它有许多文件夹和文件,然后在vsix安装期间解压缩。否则我需要将这些100+文件中的每一个标记为"包含在VSIX"
中答案 0 :(得分:2)
您可以将.chm(或任何其他文件类型)添加到包项目中,在解决方案资源管理器中选择该文件,显示该文件的“属性”窗口(不是该项目,并设置“包含在VSIX中”财产到真。
答案 1 :(得分:0)
1:您可以在启动扩展程序时运行任何代码。 2:您可以将任何命令添加到“工具”菜单
答案 2 :(得分:0)
创建一个新的Visual Studio包项目(使用模板 - > Visual C# - >可扩展性 - > Visual Studio包),在VS IDE"帮助&下为我们的sdk帮助添加一个新菜单项#34; menu.Visual Studio Package向导将显示
第1页)欢迎页面
第2页)选择编程语言:允许我们选择编程语言&签署集会的方式
第3页)基本VSPackage信息:如公司名称,VSPackage名称,图标等。
第4页)选择VSPackage选项:选择菜单命令复选框,此菜单项将添加到VS IDE中 - >工具
Page5)命令选项:提供菜单,名称和信息的信息。 ID。 提供此信息后,#34;完成"向导使用按钮 提供。
打开" .vsct"在新创建的项目中存档并查找" IDM_VS_MENU_TOOLS"并将其更改为" IDM_VS_MENU_HELP"将菜单项移动到VS IDE - >帮助
项目主类中的MenuItemCallback方法打开chm文件。
private void MenuItemCallback(object sender, EventArgs e){
string codeBase = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
string helpFilePath = string.Format("file://{0}\\myHelp.chm", System.IO.Path.GetDirectoryName(path))
System.Windows.Forms.Help.ShowHelp(null, helpFilePath); }