Konfigurace prohlížeče zdroje

Dosud jsme se na prohlížeč zdroje, SourceViewer, dívali v kontextu správy anotací zdrojového kódu.

SourceViewer je rovněž centrálním místem pro konfiguraci přídavného chování vašeho editoru, například textových událostí hover nebo zvýraznění syntaxe.   Pro tyto funkce dodává editor objekt SourceViewerConfiguration, který se používá ke konfiguraci prohlížeče zdroje (SourceViewer), když se vytváří.  Ukázkový editor jazyka Java musí pouze prostřednictvím SourceViewerConfiguration dodat konfiguraci odpovídající jeho potřebám.  Následující úsek ukazuje, jak JavaTextEditor vytváří svou konfiguraci:

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

Co třída JavaSourceViewerConfiguration dělá?  Většinu svého chování dědí od třídy SourceViewerConfiguration, která definuje výchozí strategie pro přídavné chování editoru, například automatické odsazování, chování funkce Zpět, chování při poklepání myší, textové události hover, zvýraznění syntaxe či formátování.  Veřejné metody ve třídě SourceViewerConfiguration poskytují pomocné objekty, které takové chování implementují.

Pokud výchozí chování definované ve třídě SourceViewerConfiguration vašemu editoru nevyhovuje, měli byste předefinovat metodu initializeEditor() , jak ukazuje výše uvedený příklad, a nastavit do editoru svou vlastní konfiguraci prohlížeče zdroje.  Vaše konfigurace může předefinovat metody třídy SourceViewerConfiguration tak, aby dodávaly přizpůsobené pomocné objekty, které implementují chování vašeho editoru.  Následující úsek ukazuje dva způsoby, jakými JavaSourceViewerConfiguration dodává přizpůsobené pomocné objekty pro ukázkový editor jazyka Java:

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

V první metodě je poskytnuta přizpůsobená nápovědná třída pro implementaci událostí hover nad anotacemi.   Ve druhé metodě se dotazuje výchozí typ obsahu dokumentu, aby se zjistilo, zda se má použít upravená strategie automatického odsazování nebo výchozí strategie.

Viz reference rozhraní API pro třídu SourceViewerConfiguration, kde najdete všechny způsoby, jakými lze konfigurovat prohlížeč zdroje pomocí předefinování metod.