Workbench 편집기의 구현은 사용자의 플러그인 및 편집하려는 자원에 특정적이지만 Workbench는 편집기를 빌드하기 위한 일반 구조를 제공합니다. 다음 개념은 모든 Workbench 편집기에 적용됩니다.
편집기는 IEditorPart를 구현해야 하며, 종종 EditorPart 클래스를 확장하여 빌드됩니다. 편집기는 createPartControl 메소드로 사용자 인터페이스를 구현합니다. 이 메소드는 편집기 컨텐츠를 표시하는 JFace 표시기나 SWT 위지트(widget)를 어셈블하는 데 사용됩니다.
편집기 입력은 편집될 내용에 대한 설명입니다. 편집기 입력이라는 말이 일반적인 표현이긴 하지만 파일 이름으로 생각할 수 있습니다. IEditorInput은 편집기 입력(예: 입력 이름과 편집기 맨 위의 레이블에 입력을 표시하는 데 사용되는 이미지)에 대한 프로토콜을 정의합니다.
플랫폼에 두 개의 일반 편집기 입력이 제공됩니다. IFileEditorInput은 파일 시스템의 파일인 입력을 표시합니다. IStorageEditorInput은 바이트 스트림인 입력을 표시합니다. 이 바이트의 출처는 파일 시스템 이외의 다른 소스입니다.
편집기가 진행 중인 편집기의 입력 오브젝트의 바꾸기를 지원할 수 있는 경우 IReusableEditor를 구현해야 합니다. 이 인터페이스를 구현하면 Workbench는 편집기를 "재생"할 수 있습니다. Workbench 사용자 환경 설정을 사용하여 일정한 편집기 수가 열린 후 편집기를 재사용하도록 지시할 수 있습니다.
편집기에서 탐색 히스토리를 구현하려면 INavigationLocationProvider를 구현해야 합니다. 탐색 히스토리를 유지하는 데 필요한 경우 이는 현재 탐색 위치(INavigationLocation)를 요청하는 메커니즘을 Workbench에 제공합니다. Workbench는 탐색 사용자 인터페이스 기술을 처리합니다. INavigationLocation은 표시하는 위치에 편집기를 복원해야 할 경우 통지됩니다.
나머지 편집기 구현은 제공하려는 컨텐츠에 따라 다릅니다. 다음에는 가장 일반적인 편집기 유형인 문서 편집기를 살펴 보겠습니다.