如何为.js文件扩展vs2010编辑器上下文菜单?

gua*_*ike 3 vsx editor package visual-studio-2010 vsip

我有一个带有几个命令的VS2010 VSIP包,这些命令被添加到javascript编辑器的上下文菜单中,我正在使用

  <Group guid="guidPrettyJsCmdSet" id="ContextMenuGroup" priority="0x0600">
       <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/>
  </Group>
Run Code Online (Sandbox Code Playgroud)

但它只适用于C#文件,如何让它适用于.js文件?

Aar*_*ten 12

HTML/CSS/JS代码编辑器实际上显示了与主代码编辑器不同的上下文菜单.遗憾的是,这些上下文菜单的Guid/ID对未在Visual Studio SDK中发布或定义.

但是,有一个调试钩子(自VS 2005 SP1开始),它允许您识别几乎任何您可能感兴趣的菜单项的Guid/ID.请参阅此博客文章了解如何执行此操作.

使用该帖子中描述的技术,如果我在Javascript编辑器中按CTRL + SHIFT + RIGHTCLICK,我会得到以下对话框:

替代文字

在我的VSCT文件的<Symbols>部分中,我可以输入以下内容:

<GuidSymbol name="htmlEditorCommandSet" value="{D7E8C5E1-BDB8-11D0-9C88-0000F8040A53}">
  <IDSymbol name="jsContextMenu" value="0x0034"/>  <!-- 52 in hex is 0x0034 -->
</GuidSymbol>
Run Code Online (Sandbox Code Playgroud)

然后,这只是养育Guid/ID的问题:

  <Group guid="guidPrettyJsCmdSet" id="ContextMenuGroup" priority="0x0600">
    <Parent guid="htmlEditorCommandSet" id="jsContextMenu"/>
  </Group>
Run Code Online (Sandbox Code Playgroud)