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

时间:2010-09-09 01:13:15

标签: visual-studio-2010 editor package vsx vsip

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

  <Group guid="guidPrettyJsCmdSet" id="ContextMenuGroup" priority="0x0600">
       <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/>
  </Group>

但它仅适用于C#文件,如何使其适用于.js文件?

1 个答案:

答案 0 :(得分:12)

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

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

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

alt text

在&lt;符号&gt;中我的VSCT文件部分,我可以提出以下内容:

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

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

  <Group guid="guidPrettyJsCmdSet" id="ContextMenuGroup" priority="0x0600">
    <Parent guid="htmlEditorCommandSet" id="jsContextMenu"/>
  </Group>