3

いくつかのコマンドを含む VS2010 VSIP パッケージがあります。これらのコマンドは、javascript エディターのコンテキスト メニューに追加され、使用しています。

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

しかし、それはC#ファイルでしか動作しません.jsファイルで動作させるにはどうすればよいですか?

4

1 に答える 1

12

HTML/CSS/JS コード エディターは、実際にはメインのコード エディターとは異なるコンテキスト メニューを表示します。残念ながら、これらのコンテキスト メニューの Guid/ID ペアは、Visual Studio SDK で公開または定義されていません。

ただし、デバッグ フック (VS 2005 SP1 以降) があり、関心のあるほぼすべてのメニュー項目の Guid/ID を識別できます。その方法については、このブログ投稿を参照してください。

その投稿で説明されている手法を使用して、Javascript エディターで CTRL + SHIFT + 右クリックすると、次のダイアログが表示されます。

代替テキスト

VSCT ファイルの <Symbols> セクションには、次のように記述できます。

<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>
于 2010-09-09T20:42:30.983 に答える