2016-06-27 10 views
1

Also schreibe ich zu Lernzwecken ein Eclipse-Plugin, das eine bereits vorhandene Startkonfiguration übernehmen und mit einigen neuen VM-Attributen erneut ausführen soll.Eclipse-Plugin, benutzerdefinierter Run-Befehl

Durch den Erweiterungspunkt org.eclipse.ui.commands konnte ich den Befehl erstellen.

<extension point="org.eclipse.ui.commands"> 
    <command 
     defaultHandler="launchconfigurator.LaunchConfiguratorCommandHandler" 
     id="launchconfigurator.toolbar.command" 
     name="JCCRun"> 
    </command> 
    </extension> 

Weiter habe ich auf die Schaltfläche in der Symbolleiste:

<extension 
    point="org.eclipse.ui.menus"> 
    <menuContribution 
     locationURI="toolbar:org.eclipse.ui.main.toolbar"> 
    </menuContribution> 
    <menuContribution 
     locationURI="toolbar:org.eclipse.debug.ui.launchActionSet"> 
    <command 
      commandId="launchconfigurator.toolbar.command" 
      icon="favicon_1_-3.png" 
      style="pulldown"> 
     <visibleWhen 
       checkEnabled="true"> 
     </visibleWhen> 
    </command> 
    </menuContribution> 

An dieser Stelle ich auf meiner Symbolleiste eine Schaltfläche haben, die mir meine Taste zeigt und hat einen Pfeil für ein Drop-Down Speisekarte. Aber wenn ich auf den Menüpfeil klicke, passiert nichts ...

Was ich haben möchte, ist genau das gleiche Menü wie die Eclipse Run oder Debug-Tasten haben ... Weiß jemand, wie ich das ansprechen könnte?

Ich denke, es sollte etwas sein, was ich tun muss mit meiner plugin.xml, um Eclipse zu sehen, meine Schaltfläche als Run-Taste, aber ich bin mir nicht sicher, was genau Eclipse braucht ... Vielleicht gibt es einige Finsternis Quellcode, den ich mir anschauen könnte?

ich implementiert sogar eigene Delegierten und Tab-Gruppen, die ich nicht für meine Ausführung brauchte aber dachte, es würde helfen ... Aber leider es nicht ...

Thx im Voraus für Ihre Antwort, Möge die Macht mit dir

Antwort

1

die ‚Run‘, um den alten Stil org.eclipse.ui.actionSets Erweiterungspunkt definiert wird:

<action 
      id="org.eclipse.debug.internal.ui.actions.RunDropDownAction" 
      toolbarPath="org.eclipse.debug.ui.launchActionSet/debug" 
      hoverIcon="$nl$/icons/full/etool16/run_exc.png" 
      class="org.eclipse.debug.internal.ui.actions.RunToolbarAction" 
      disabledIcon="$nl$/icons/full/dtool16/run_exc.png" 
      icon="$nl$/icons/full/etool16/run_exc.png" 
      helpContextId="run_action_context" 
      label="%RunDropDownAction.label" 
      style="pulldown"> 
    </action> 

So ist der Code, der das Ausführen Dropdown-Menü org.eclipse.debug.internal.ui.actions.RunToolbarAction ist erstellt. Dies ist nur eine kleine Klasse:

public class RunToolbarAction extends AbstractLaunchToolbarAction { 
    public RunToolbarAction() { 
    super(IDebugUIConstants.ID_RUN_LAUNCH_GROUP); 
    } 
} 

So wird dies mit der allgemeineren Klasse AbstractLaunchToolbarAction und die Angabe der Startgruppe angezeigt werden. Möglicherweise können Sie etwas Ähnliches tun.

+0

gibt es das gleiche mit der Erweiterung 'org.eclipse.ui.commands' zu tun? –

+0

Nicht leicht, weil der Code einen alten Stil "Action" erwartet. Obwohl der Erweiterungspunkt für die Aktionsgruppe veraltet ist, besteht keine Möglichkeit, dass er in absehbarer Zeit entfernt wird. –

Verwandte Themen