【发布时间】:2019-03-01 06:51:30
【问题描述】:
我想为 VS Source Control Explorer 上下文菜单创建一个扩展,
为了在文本编辑器上下文菜单上添加一个选项,我知道您需要将组的父节点上的IDM_VS_CTXT_CODEWIN 设置到 vsct 文件中。
谁能告诉我源代码管理资源管理器上下文菜单的正确值?
【问题讨论】:
标签: visual-studio tfs vsix
我想为 VS Source Control Explorer 上下文菜单创建一个扩展,
为了在文本编辑器上下文菜单上添加一个选项,我知道您需要将组的父节点上的IDM_VS_CTXT_CODEWIN 设置到 vsct 文件中。
谁能告诉我源代码管理资源管理器上下文菜单的正确值?
【问题讨论】:
标签: visual-studio tfs vsix
我认为特定的上下文菜单 guid:id 对不会在任何地方发布。我通常尝试搜索 ....VSSDK\VisualStudioIntegration\Common\Inc 目录下的各种 .VSCT 文件,以在上下文菜单中找到一个独特的菜单项,找出它的父菜单组,然后从那里返回。
但是考虑到连接到 IDE 的数千个命令和菜单,这可能是一个偶然的情况。
如果在上述路径上搜索各种 .VSCT 文件没有成功,我通常会恢复使用 EnableVSIPLogging 注册表项,以发现给定上下文菜单的 guid:id 对。
最简单的设置方法是安装Mad's Extensibility Tools extension,它会在 IDE 的主“查看”菜单上添加“启用 VSIP 日志记录”命令。一旦你设置了这个,如果你按住 CTRL+SHIFT 键,同时在工具窗口中单击鼠标右键,你会得到一个诊断消息框,其中包含上下文菜单的 guid 和 id。您可以将它们用作包含您的命令的菜单组的父级。
例如:
菜单数据:
Guid = {**FFE1131C-8EA1-4D05-9728-34AD4611BDA9**}
GuidID = 962
CmdID = ***4113***
Type = 0x00000400
Flags = 0x04000000
其中 FFE1131C-8EA1-4D05-9728-34AD4611BDA9 是上下文菜单 GUID,4113 是菜单 ID。
注意,如果您在选择实际命令时按住 CTRL+SHIFT,则会出现相同的对话框,但 guid 和 cmdid 将标识所选的特定命令(菜单项)。
真诚的,
【讨论】: