Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
417 views
in Technique[技术] by (71.8m points)

java - Creating a eclipse plugin with text hover

I would like to make a Eclipse plugin (text editor). I would "read" the text under the cursor and show a dynamical generated hover that depends on the text. Now I have the problem that I don't know how I can read the text and "add" the hover.

It's my first Eclipse Plugin so I am happy for each tip I can get.

Edit:

I'd like to integrate it into the default Eclipse Java editor. I have tried to create a new plugin with a editor template but I think it is the wrong way.

Last Edit:

The answer from PKeidel is exactly what I'm looking for :)

Thanks PKeidel

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your fault is that you created a completly new Editor instead of a plugin for the existing Java Editor. Plugins will be activated via extension points. In your case you have to use org.eclipse.jdt.ui.javaEditorTextHovers more....

<plugin>
   <extension
         point="org.eclipse.jdt.ui.javaEditorTextHovers">
      <hover
            activate="true"
            class="path.to_your.hoverclass"
            id="id.path.to_your.hoverclass">
      </hover>
   </extension>

</plugin>


The class argument holds the path to your Class that implements IJavaEditorTextHover.

public class LangHover implements IJavaEditorTextHover
{
    @Override
    public String getHoverInfo(ITextViewer textviewer, IRegion region)
    {
         if(youWantToShowAOwnHover)
           return "Your own hover Text goes here"";
         return null; // Shows the default Hover (Java Docs)
    }
}

That should do it ;-)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...