지금까지 소스 코드 어노테이션 관리 컨텍스트에서 SourceViewer를 살펴보았습니다.
SourceViewer는 또한 텍스트 풍선 도움말 표시 및 구문 강조표시 등의 플러그 가능한 작동으로 편집기를 구성하기 위한 중앙 허브입니다. 이 기능을 위해 편집기가 작성될 때 SourceViewer를 구성하는 데 사용되는 SourceViewerConfiguration을 제공합니다. Java 예제 편집기는 필요에 맞는 SourceViewerConfiguration만 제공해야 합니다. 다음 스니펫에서는 JavaTextEditor가 구성을 작성하는 방법을 보여줍니다.
protected void initializeEditor() { super.initializeEditor(); setSourceViewerConfiguration(new JavaSourceViewerConfiguration()); ...
JavaSourceViewerConfiguration이 수행하는 것은 무엇일까요? 그와 관련된 여러 가지 작동이 SourceViewerConfiguration에서 상속되며, 여기서 자동 들여쓰기, 작동 실행 취소, 두 번 클릭 작동, 풍선 도움말, 구문 강조표시 및 형식화 등의 플러그 가능 편집기 작동의 기본 계획을 정의합니다. SourceViewerConfiguration의 공용 메소드는 이러한 작동을 구현하는 헬퍼 오브젝트를 제공합니다.
SourceViewerConfiguration에 정의된 기본 작동이 사용자의 편집기에 적합하지 않으면 initializeEditor()를 위에서 표시된 대로 대체하고 사용자 고유의 소스 표시기 구성을 편집기에 설정해야 합니다. 사용자의 구성은 편집기의 작동을 구현하는 사용자 정의된 헬퍼 오브젝트를 제공하도록 SourceViewerConfiguration의 메소드를 대체할 수 있습니다. 다음 스니펫에서는 JavaSourceViewerConfiguration이 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()); }
첫 번째 메소드에서, 어노테이션 풍선 도움말을 구현하는 데 사용자 정의된 헬퍼 클래스가 제공됩니다. 두 번째 메소드에서, 문서의 기본 컨텐츠 유형이 사용자 정의된 자동 들여쓰기 계획 또는 기본 계획을 사용할지 여부를 판별하도록 조회됩니다.
메소드를 대체하여 소스 표시기를 구성할 수 있는 모든 방법은 SourceViewerConfiguration에 대한 API 참조를 참조하십시오.