Несмотря на то, что реализация редактора рабочей среды зависит от применяемого модуля и редактируемого содержимого, в рабочей среде предусмотрена общая структура создания редакторов. Следующая информация применима ко всем редакторам рабочей среды.
Редактор должен реализовать интерфейс IEditorPart. Как правило, для этого расширяется класс EditorPart. Пользовательский интерфейс редактора реализуется с помощью метода createPartControl. Он позволяет скомпоновать управляющие элементы SWT или программы просмотра JFace, отображающие содержимое редактора.
Ввод редактора - это описание редактируемых объектов. Например, ввод можно рассматривать как имя файла, хотя это более общее понятие. IEditorInput задает протокол обработки ввода редактора. В частности, имя ввода и изображение, применяемые для его представления в метках, расположенных в верхней части редактора.
Платформа предусматривает два базовых типа ввода редактора. IFileEditorInput описывает ввод, который представляет собой файл, принадлежащий файловой системе. IStorageEditorInput описывает ввод в виде потока байтов. Этот поток может передаваться из источников, отличных от файловой системы.
Если редактор должен поддерживать динамическое изменение объекта ввода, необходимо реализовать интерфейс IReusableEditor. С помощью этого интерфейса рабочая среда может повторно использовать редактор. Например, с помощью пользовательских параметров рабочей среды можно разрешить повторное использование редакторов после того, как открыто заданное число редакторов.
Применение хронологии навигации в редакторе предусматривает реализацию интерфейса INavigationLocationProvider. С его помощью рабочая среда может запрашивать текущее расположение навигации (INavigationLocation), необходимое для ведения хронологии. Операции пользовательского интерфейса навигации выполняются рабочей средой. Интерфейс INavigationLocation получит уведомление, если потребуется восстановить в редакторе связанное с ним расположение.
Прочие особенности реализации редактора определяются содержимым, которое предполагается обрабатывать с помощью редактора. Далее будет рассмотрен наиболее общий тип редактора - текстовый редактор.