facebook

Writing plugins that work with MyEclipse JSP Editor [Closed]

  1. MyEclipse IDE
  2.  > 
  3. Off Topic
Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #222307 Reply

    I’ve written an Eclipse Plugin which works in the Java editor, XML editor, and other text editors. This plugin adds new menuitems to the context menu. But it does not work in the MyEclipse JSP editor. Does anyone know what viewerContribution context I need to use to make this plugin work here?

    Note: I tried to copy what the IBM Snippet plugin does when it registers the Add to Snippets… action against org.eclipse.ui.popupMenus, but this does not work and I don’t know why. For example, I added viewerContributions to the following contexts:

      targetID=”#TextEditorContext”
      targetID=”#StructuredTextEditorContext”
      targetID=”#CompilationUnitEditorContext”
      targetID=”#QEVJavaEditorContext”

    but apparently none of these match the MyEclipse JSP editor.

    See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=36968

    #222472 Reply

    Riyad Kalla
    Member

    David,
    I will ask one of our devs to have a look at this, hang in there.

    #222483 Reply

    Scott Anderson
    Participant

    David,

    You should be able to add context menu actions to all our editors with something like the following:

    
       <extension
             point="com.ibm.sse.editor.extendedEditorActions">
          <editorContribution
                targetID="com.ibm.sse.editor.StructuredTextEditor"
                id="your-id">
             <action
                   popupmenuPath="group.add"
                   class="your-class"
                   id="your-action-id">
             </action>
          </editorContribution>
       </extension>
    
    
    #222623 Reply

    I tried this and my extension still does not show up in any of the MyEclipse editors (JSP, XML, TLD, etc.), only in the Java editor or plain text editors.

    Here are some extracts from my plugin.xml, the first showing the plian text editor context that works, the second the com.ibm.sse.editor.extendedEditorActions extension as suggested by Scott :

    
       <extension
             point="org.eclipse.ui.popupMenus">
          <viewerContribution
                targetID="#TextEditorContext" <!-- other contexts also; see original post -->
                id="com.sas.tools.eclipse.editor.popup.actions.editor1">
             <action
                   label="Filter"
                   tooltip="Run a filter over the selected text, replacing text with the filter output"
                   class="com.sas.tools.eclipse.editor.enhancements.popup.actions.FilterAction"
                   icon="icons/filter.gif"
                   menubarPath="group.add"
                   id="com.sas.tools.eclipse.editor.enhancements.popup.actions.FilterAction">
             </action>
          </viewerContribution>
        </extension>
    
        <extension
             point="com.ibm.sse.editor.extendedEditorActions">
    
          <editorContribution
                targetID="com.ibm.sse.editor.StructuredTextEditor"
                id="com.sas.tools.eclipse.editor.popup.actions.editor1">
             <action
                   label="Filter"
                   tooltip="Run a filter over the selected text, replacing text with the filter output"
                   class="com.sas.tools.eclipse.editor.enhancements.popup.actions.FilterAction"
                   icon="icons/filter.gif"
                   popupmenuPath="group.add" 
                   id="com.sas.tools.eclipse.editor.enhancements.popup.actions.FilterAction">
             </action>
          </editorContribution>
       </extension>
    
    

    Any other ideas? Any pointers to some source that

    #222633 Reply

    Scott Anderson
    Participant

    David,

    I opened the plugin.xml file we ship in the com.ibm.sse.editor plugin and found the area where the extension that adds the Preferences… item for the editor context menu is contributed. For a test, I duplicated the extension contribution and gave it new IDs and a new label like this:

    
       <extension
             point="com.ibm.sse.editor.extendedEditorActions">
          <editorContribution
                targetID="com.ibm.sse.editor.StructuredTextEditor"
                id="com.ibm.sse.editor.extendedActions2">
             <action
                   popupmenuPath="group.add"
                   label="Preferences2"
                   class="com.ibm.sse.editor.preferences.ui.EditStructuredTextEditorPreferencesAction"
                   id="com.ibm.sse.editor.preferences.ui.EditStructuredTextEditorPreferencesAction2">
             </action>
          </editorContribution>
       </extension>
    

    When I ran the workbench, I had two preference menus, one labeled Preferences2, as expected. You didn’t mention if you’re running in the PDE or standalone, but in either case I’d recommend clearing the configuration area before testing again, just to be sure that Eclipse isn’t caching anything on you.

    #222646 Reply

    Thanks. I was able to resolve my problem. I added the above Preferences2 to my plugin.xml and it was not showing up, so I was able to track down why my plugins were not being loaded correctly; my dependencies were incomplete and I added the sse plugin to my plugin’s dependencies.

    #222647 Reply

    Scott Anderson
    Participant

    David,

    That’s certainly good news. Of course, you might want to add the dependency as optional in case someone wants to use your plugins without MyEclipse installed also. If you don’t, MyEclipse will be a “hard” prerequisite and that might not be what you want.

    #222653 Reply

    Riyad Kalla
    Member

    If you don’t, MyEclipse will be a “hard” prerequisite and that might not be what you want.

    Why not? I think it is a good idea, be sure to include a link to our “Buy” page 😛

    #223337 Reply

    As followup, the root of my problem was that the IBM com.ibm.sse.editor structured source editor is not compatible
    with the default Eclipse text editor. I had followed a tutorial for writing a plugin that I found the eclipse site; it won’t
    work for SSE. It uses a class that implements org.eclipse.ui.IEditorActionDelegate. For SSE, one must implement
    a class that extends org.eclipse.jface.action.Action and implements com.ibm.sse.editor.extension.IExtendedEditorAction

    Unfortunately, SSE does not throw an exception when a plugin.xml defines an extension that does not implement
    the necessary interface. I’ll submit an Eclipse Web Tools bug for this.

Viewing 9 posts - 1 through 9 (of 9 total)
Reply To: Writing plugins that work with MyEclipse JSP Editor [Closed]

You must be logged in to post in the forum log in