Quellenanzeigefunktion konfigurieren

Sie haben das Objekt SourceViewer bereits im Kontext der Verwaltung von Anmerkungen für den Quellcode kennen gelernt.

Der SourceViewer ist auch der zentrale Hub für die Konfigurierung Ihres Editors mit Plug-in-Verhalten, wie z.B. Textkurzinfos oder Syntaxhervorhebung.   Der Editor bietet für diese Features eine SourceViewerConfiguration , die verwendet wird, um den SourceViewer bei der Erstellung zu konfigurieren.  Der Java-Beispieleditor muss lediglich ein auf seine Bedürfnisse zurechtgeschnittenes Objekt SourceViewerConfiguration bereitstellen.  Der folgende Ausschnitt zeigt, wie der JavaTextEditor eine Konfiguration erstellt:

protected void initializeEditor() {
	super.initializeEditor();
	setSourceViewerConfiguration(new JavaSourceViewerConfiguration());
	...

Dies wirft die Frage auf, was das Objekt JavaSourceViewerConfiguration ausführt.  Ein Großteil seines Verhaltens wurde aus dem Objekt SourceViewerConfiguration, übernommen, das Standardstrategien für Plug-in-Verhalten für Editoren (z. B. automatisches Einrücken, Aufhebung von Operationen, Doppelklickverhalten, Kurzinfo für Text, Syntaxhervorhebung und Formatierung) definiert.  Öffentliche Methoden im Objekt SourceViewerConfiguration stellen die Helperobjekte zur Verfügung, die diese Verhaltensweisen implementieren.

Falls das Standardverhalten, das im Objekt SourceViewerConfiguration definiert ist, nicht für Ihren Editor geeignet ist, sollten Sie die Methode initializeEditor() wie oben gezeigt überschreiben und eine eigene Konfiguration für die Quellenanzeigefunktion im Editor festlegen.  Ihre Konfiguration kann Methoden im Objekt SourceViewerConfiguration überschreiben und auf diese Weise angepasste Helperobjekte bereitstellen, die Verhalten für Ihren Editor implementieren.  Der folgende Ausschnitt zeigt zwei der Methoden, mit denen das Objekt JavaSourceViewerConfiguration angepasste Helperobjekte für den Java-Beispieleditor bereitstellt:

public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
	return new JavaAnnotationHover();
}
	
public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType) {
	return (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) ? new JavaAutoIndentStrategy() : new DefaultAutoIndentStrategy());
}

In der ersten Methode wird eine angepasste Helperklasse für die Implementierung von Kurzinfos für Anmerkungen zur Verfügung gestellt.  In der zweiten Methode wird der Standardinhaltstyp des Dokuments abgefragt, um zu ermitteln, ob eine angepasste Strategie oder aber die Standardstrategie für das automatische Einrücken verwendet werden soll.

Eine vollständige Beschreibung aller Möglichkeiten für die Konfiguration einer Quellenanzeigefunktion durch das Überschreiben von Methoden finden Sie in den API-Referenzen zu SourceViewerConfiguration.