Мы уже видели, как редакторы могут добавлять собственные действия к меню рабочей среды и панели инструментов, когда они становятся активными. Точка расширения org.eclipse.ui.editorActions позволяет модулям добавлять компоненты к меню рабочей среды и панели инструментов, когда активируются редакторы других модулей.
В примере readme модуль использует точку расширения editorActions для добавления дополнительных действий к меню, добавленным редактором readme. Определение в plugin.xml должно выглядеть уже знакомым.
<extension
point = "org.eclipse.ui.editorActions">
<editorContribution
id="org.eclipse.ui.examples.readmetool.ec1"
targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor">
<action id="org.eclipse.ui.examples.readmetool.ea1"
label="%Editors.Action.label"
toolbarPath="ReadmeEditor"
icon="icons/obj16/editor.png"
tooltip="%Editors.Action.tooltip"
class="org.eclipse.ui.examples.readmetool.EditorActionDelegate"
definitionId="org.eclipse.ui.examples.readmetool.ea1"
/>
</editorContribution>
</extension>
Также как и для действия Просмотр, расширение должно указывать targetID редактора, в который вносятся дополнительные действия. Само по себе действие очень похоже на действие Просмотр (ИД, метка, значок, toolbarPath, ...). Разница в том, что указанный класс должен реализовать метод IEditorActionDelegate, а также можно указать definitionId для связывания действия с командой, заданной в расширении org.eclipse.ui.commands. Это расширение необходимо для создания привязок клавиш. Обратитесь к разделу Команды.
Обратите внимание, что путь строки меню не указан в этом коде. Таким образом, действие будет отображаться в панели инструментов рабочей среды, когда редактор активен, но не в меню рабочей среды. (Подробные сведения о путях панели инструментов и меню содержатся в разделе Пути меню и панели инструментов).
Конечно, при активизации редактора мы видим действия редактора в панели инструментов рядом с действиями, добавленными самим редактором.

Утилита readme предоставляет EditorActionDelegate для реализации действия. Этот класс очень похож на делегата действия пункта Просмотр, рассмотренного ранее.
public void run(IAction action) {
MessageDialog.openInformation(editor.getSite().getShell(),
MessageUtil.getString("Readme_Editor"),
MessageUtil.getString("Editor_Action_executed"));
}