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.