2009-05-21 11 views
1

ich meinen eigenen Text schweben in Eclipse für einige bestimmte Wörter zeigen? Bitte geben Sie mir ein paar BeispieleEclipse-3.3 Europa JDT TextHover

+0

ein besonderer Grund Sie 3.3 Europa verwenden? 3.4 Ganymed ist fast ein Jahr alt und wir nähern uns der Veröffentlichung von 3,5 Galileo. – Powerlord

Antwort

1

Sie durch einen Blick auf Koder examples beginnen.

z. diese CEditorTextHoverDispatcher oder diese UCTextHover

package com.ut2003.uceditor; 

import org.eclipse.jface.text.BadLocationException; 
import org.eclipse.jface.text.IRegion; 
import org.eclipse.jface.text.ITextHover; 
import org.eclipse.jface.text.ITextViewer; 
import org.eclipse.jface.text.Region; 
import org.eclipse.swt.graphics.Point; 

public class UCTextHover implements ITextHover 
{ 

    /* (non-Javadoc) 
    * Method declared on ITextHover 
    */ 
    public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) 
    { 
     if (hoverRegion != null) 
     { 
      try 
      { 
       if (hoverRegion.getLength() > -1) 
        return textViewer.getDocument().get(hoverRegion.getOffset(), hoverRegion.getLength()); 
      } 
      catch (BadLocationException x) 
      { 
      } 
     } 
     return "Empty Selection"; 
    } 

    /* (non-Javadoc) 
    * Method declared on ITextHover 
    */ 
    public IRegion getHoverRegion(ITextViewer textViewer, int offset) 
    { 
     Point selection = textViewer.getSelectedRange(); 
     if (selection.x <= offset && offset < selection.x + selection.y) 
      return new Region(selection.x, selection.y); 
     return new Region(offset, 0); 
    } 
} 

Sie eine TextHover in einem SourceViewerConfiguration wie diese GasSourceViewerConfiguration oder diese CalcSourceViewerConfiguration

package com.example.calc.ui.editors; 

import org.eclipse.jface.text.ITextHover; 
import org.eclipse.jface.text.reconciler.IReconciler; 
import org.eclipse.jface.text.reconciler.MonoReconciler; 
import org.eclipse.jface.text.source.ISourceViewer; 
import org.eclipse.jface.text.source.SourceViewerConfiguration; 

/** 
* @author cdaly 
* 
* To change the template for this generated type comment go to 
* Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments 
*/ 
public class CalcSourceViewerConfiguration extends SourceViewerConfiguration { 

    private CalcEditor _editor; 

    public CalcSourceViewerConfiguration(CalcEditor editor){ 
     _editor = editor; 
    } 



    /* (non-Javadoc) 
    * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getReconciler(org.eclipse.jface.text.source.ISourceViewer) 
    */ 
    public IReconciler getReconciler(ISourceViewer sourceViewer) { 
     return new MonoReconciler(_editor.getReconcilingStrategy(), false); 
    } 

    /* (non-Javadoc) 
    * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTextHover(org.eclipse.jface.text.source.ISourceViewer, java.lang.String) 
    */ 
    public ITextHover getTextHover(
     ISourceViewer sourceViewer, 
     String contentType) { 
     ITextHover hover; 
     if (_editor != null && _editor instanceof CalcEditor) { 
      hover = new CalcTextHover((CalcEditor)_editor); 
     } else { 
      hover = null; 
     } 
     return hover; 
    } 

} 

Darüber hinaus setzen würde, ich habe nicht viel mehr Informationen: die Beispiele, die ich gefunden habe, sind programmatischer als deklarative (dh "plugin.xml"), also möchten Sie vielleicht explorieren erzähle etwas mehr Code.

Ein weiteres gutes Beispiel: Eclipse: Rich Hovers Redux (obwohl es für eclipse3.4 ist, aber die volle Beispiel kann man sich einen weiteren Hinweis geben, wie eine benutzerdefinierte ITextHover dem aktuellen Editor hinzugefügt wird)

+0

Vielen Dank für die Antworten. Welchen Assistenten sollte ich in der Eclipse-Plugin-Entwicklungsumgebung verwenden, um diesen Hover in JavaEditor hinzuzufügen? Welchen Erweiterungspunkt sollte ich in plugin.xml hinzufügen, um dies in JavaEditor zu erhalten? –

1

Das Beste ist, die verwenden Java Editor Plugin zusammen mit Eclipse zuerst. Nehmen Sie Eclipse Hilfe -> Willkommens-> Samples-> Java-Editor-Plugin

Verwandte Themen