VSIX项目上下文菜单

时间:2018-08-22 12:33:54

标签: c# visual-studio visual-studio-extensions vsix vspackage

我正试图创建一个Visual Studio 2017扩展,只是为了娱乐并了解VS可扩展性的工作原理。

我的扩展程序必须可以从“解决方案资源管理器”选项卡中用作上下文菜单按钮,但我想将其包含在非root用户的菜单级别。

我的目标是将其放在“添加”子菜单中,但目前我只能将其放在根级别(当您右键单击“项目”项目时,菜单项显示为最后一个右键菜单控件。

如何将其移动到“添加”节点下?
可以通过在.vsct文件中配置的CommandPlacement标签完成此操作吗?

2 个答案:

答案 0 :(得分:2)

将IDG_VS_CTXT_PROJECT_ADD_ITEMS组ID用作命令的父级。如果您使用CommandPlacement,它将是:

  <CommandPlacement guid="..." id="..." priority="0x0001" >
     <Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_PROJECT_ADD_ITEMS"/>
  </CommandPlacement>

记住:

  • 一个组的父级可以是另一个组,菜单,工具栏,上下文菜单等,它们可以由您的扩展程序创建,也可以是现有的VS(由前缀“ IDM_”标识)创建。请参见GUIDs and IDs of Visual Studio menusGUIDs and IDs of Visual Studio toolbars
  • 命令的父级是总是组,而不是菜单,上下文菜单或工具栏。该组可以是新的(由您的扩展名创建),也可以是现有的Visual Studio组,其前缀为“ IDG_”。您在上面的链接中有一些内置的Visual Studio组,但是要获取更详尽的列表,请安装ExtensionTools扩展名(Mads Kristensen),该扩展名在.vsct文件中提供智能感知或检查其{{3 }}。

答案 1 :(得分:0)

我认为并希望这可能有所帮助,尽管这是一个普遍的答案,而不是一个具体的答案。通过示例学习。

我也希望WiX作者不会介意,但是我相信他们的 Visual Studio集成组件 WiX Votive ”的来源位于:{ {3}}。

还有这个:https://github.com/wixtoolset/VisualStudioExtension。我不确定这是什么。我应该,但我不应该。 阿恩森先生-我召集了他(WiX开发人员-黑客帝国掌握了你)。


https://github.com/wixtoolset/VisualStudio.wixext是整个WiX Votive - VS Integration的一部分-这是Windows Installer部署解决方案,能够从XML标记编译MSI文件。 MSI文件是WiX Toolset用于在Windows上部署的二进制部署文件。

如果有兴趣,您 1) Windows Installer(当前为3.11.1),然后 2) 下载并安装正确的Visual Studio集成(主要下载下方的市场链接),请确保您获得的Visual Studio版本正确。两者都从同一链接下载(或使用Visual Studio市场)。

以下是更多详细信息:download and install WiX itself