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
Antwort
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>Preferences>Java>Code Generation>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)
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? –
Das Beste ist, die verwenden Java Editor Plugin zusammen mit Eclipse zuerst. Nehmen Sie Eclipse Hilfe -> Willkommens-> Samples-> Java-Editor-Plugin
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