Konfiguration av ett källkodsvisningsprogram

Vi har hittills tittat på SourceViewer i sammanhang med hantering av källkodsanteckningar.

SourceViewer är även ett centralt nav för konfiguration av din redigerare med anslutningsbart beteende som t.ex. texthovring och syntaxmarkering.   För dessa funktioner finns i redigeraren en SourceViewerConfiguration som används för att konfigurera SourceViewer när den skapats. I exemplet med Java-redigeraren behövs bara en SourceViewerConfiguration som är lämplig för aktuella behov. Följande kodstycke visar hur JavaTextEditor skapar sin konfiguration:

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

Vad gör JavaSourceViewerConfiguration? Många av dess beteenden ärvs av SourceViewerConfiguration, som definierar standardstrategier för anslutningsbara redigarbeteenden som t.ex. automatiskt indrag, ångerfunktion, dubbelklicksfunktion, texthovring, syntaxmarkering och formatering. Allmänna metoder i SourceViewerConfiguration tillhandahåller hjälpobjekten som implementerar dessa beteenden.

Om standardbeteendet som definierats i SourceViewerConfiguration inte passar din redigerare, ersätter du initializeEditor() som visas ovan och anger din egen konfiguration av källkodsvisning i redigeraren. Din konfiguration kan ersätta metoderna i SourceViewerConfiguration för att tillföra anpassade hjälpobjekt som implementerar detta beteende för din redigerare. Följande kodstycke visar två av sätten som JavaSourceViewerConfiguration tillför anpassade hjälpobjekt för exemplet med Java-redigeraren:

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());
}

I den första metoden tillhandahålls en anpassad hjälpklass för implementering av anteckningshovring. I den andra metoden frågas dokumentets standardinnehållstyp om en strategi för anpassat autoindrag eller standardstrategin ska användas.

Alla sätt ett källkodsprogram kan konfigureras via ersättningsmetoder beskrivs i API-referensen för SourceViewerConfiguration.