2010-06-06 2 views
5

Ich habe eine Idee für ein Eclipse-Plugin, mit dem ich gespielt habe. Ich muss in der Lage sein, die Eclipse Java Editor-Komponente zu erweitern und dem Code farbige Überlagerungen hinzuzufügen, die auf austauschbaren externen Metriken basieren. Leider scheint es keinen Syntax-Highlighting-Erweiterungspunkt zu geben.So erweitern Sie den Eclipse Java Editor, um farbige Overlays hinzuzufügen

Weiß jemand, wie ich den vorhandenen Eclipse-Java-Editor erweitern könnte, um benutzerdefinierte Hervorhebungsregeln hinzuzufügen?

Denken Sie daran, ich bin neu in Eclipse-Plugin-Programmierung, so geben Sie bitte so viel Details wie möglich.

Antwort

9

Die Basisklasse des Eclipse 3.5 Java-Editor ist org.eclipse.jdt.internal.ui.text.java

Beachten Sie die "interne" in dem Klassennamen. Das bedeutet, es handelt sich um eine interne Eclipse-Klasse, die nicht erweitert werden soll.

Es gibt einen Eclipse-Erweiterungspunkt org.eclipse.ui.editors.markerUpdaters Ich habe nicht mit diesem Erweiterungspunkt gearbeitet, aber es scheint, dass es Ihnen erlaubt, das zu tun, was Sie wollen.

Hier ist die Beschreibung von Eclipse-Hilfe:

Diese Erweiterung Punkt für Registrierung Marker Update-Strategien verwendet wird mit Marker Annotation Modellen. Eine Ressource, die in einem Text geöffnet wird Editor ist mit einem Marker Annotationsmodell verbunden. Für jede Markierung , die an die Ressource angehängt ist, verwaltet dieses Modell eine Position, die aktualisiert wird, wobei jede Änderung im Editor auf den Text angewendet wird. Wenn die Ressource gespeichert ist, werden der Text im Editor und die Position, die für eine Markierung verwaltet wird, an die registrierten Markierungs- Aktualisierungsstrategien übergeben. Diese Strategien können dann die Attribute des Markers basierend auf dem Text und der Position aktualisieren. Markierungsaktualisierungsstrategien sind angefordert, um die Schnittstelle org.eclipse.ui.texteditor.IMarkerUpdater zu implementieren. Die Aktualisierungsstrategien können entweder für einen bestimmten Markierertyp oder alle Markierertypen registriert sein. Die letztere durch Weglassen eines beliebigen Markertyps in der Erweiterung.

Hier ist ein Beispiel aus der Eclipse-Hilfe:

<extension point= "org.eclipse.ui.editors.markerUpdaters"> 
    <updater 
     id="org.eclipse.jdt.ui.markerUpdaters.JavaSearchMarkerUpdater" 
     class="org.eclipse.jdt.internal.ui.search.JavaSearchMarkerUpdater" 
     markerType="org.eclipse.search.searchmarker"> 
    </updater> 
</extension> 

ich nicht mehr eine Erklärung im Internet finden kann.

Verwandte Themen