3 Stimmen

Wie erweitert man das Kontextmenü des vs2010-Editors für .js-Dateien?

Ich habe ein VS2010 VSIP-Paket mit mehreren Befehlen, diese Befehle werden hinzugefügt, um den Javascript-Editor Kontextmenü, und ich bin mit

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

aber es funktioniert nur C#-Datei, wie man es für .js-Datei arbeiten zu machen?

12voto

Aaron Marten Punkte 6541

Die HTML/CSS/JS-Code-Editoren zeigen andere Kontextmenüs als der Hauptcode-Editor. Leider sind die Guid/ID-Paare für diese Kontextmenüs nicht im Visual Studio SDK veröffentlicht oder definiert.

Es gibt jedoch einen Debug-Hook (seit VS 2005 SP1), mit dem Sie die Guid/ID von fast jedem Menüelement identifizieren können, an dem Sie interessiert sein könnten. Siehe dieser Blogbeitrag wie man das macht.

Mit der Technik in diesem Beitrag beschrieben, wenn ich CTRL+SHIFT+RIGHTCLICK im Javascript-Editor, erhalte ich den folgenden Dialog:

alt text

In den Abschnitt <Symbols> meiner VSCT-Datei kann ich Folgendes eintragen:

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

Dann ist es nur noch eine Frage der Elternschaft zu dieser Guid/ID:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X