将VSIX中的CHM帮助文件添加到分布式开发人员指南中

时间:2015-04-07 13:29:07

标签: vsix vsixmanifest

我正在编写VSIX来为VS 2013分发带有向导的多项目模板,该模板允许用户为我们的应用程序编写扩展。我在提供用户指南文档(chm文件)和模板时遇到问题。 VSIX清单允许我提供"入门指南"但是这些功能的文件支持不包括" CHM"文件。

我们使用RoboHelp创建CHM,还有一个创建html文件的选项。但是创建的html文件是分布在多个文件夹中的多个文件(有一个索引页面,其中包含指向所有其他html文件的链接)。我不知道如何将这些文件打包到VSIX中。

我在这里几乎没有问题;

  1. 我们是否可以运行任何脚本或批处理文件作为其中一部分 vsix安装?
  2. 是否可以创建Windiows Start manu文件夹以显示指向chm文件的链接?
  3. 如果我指出"入门指南"到任何内部目录的html文件。 "入门"链接在"扩展和更新"中不可用, 有什么工作吗?
  4. 我做错了什么?是否有更好的方式来提供模板& 帮助?
  5. 如果我决定部署html帮助;我正在考虑部署入门帮助的压缩副本,它有许多文件夹和文件,然后在vsix安装期间解压缩。否则我需要将这些100+文件中的每一个标记为"包含在VSIX"

3 个答案:

答案 0 :(得分:2)

您可以将.chm(或任何其他文件类型)添加到包项目中,在解决方案资源管理器中选择该文件,显示该文件的“属性”窗口(不是该项目,并设置“包含在VSIX中”财产到真。

答案 1 :(得分:0)

1:您可以在启动扩展程序时运行任何代码。 2:您可以将任何命令添加到“工具”菜单

答案 2 :(得分:0)

  1. 将chm文件作为vsix的一部分并标记为"包含在VSIX"如 @Carlos Quintero建议
  2. 创建一个新的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;完成"向导使用按钮 提供。

  3. 打开" .vsct"在新创建的项目中存档并查找" IDM_VS_MENU_TOOLS"并将其更改为" IDM_VS_MENU_HELP"将菜单项移动到VS IDE - >帮助

  4. 项目主类中的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);    }