Edellä on kuvattu, miten muokkausohjelmat voivat lisätä omat toimintonsa työympäristön valikoihin ja työkaluriviin, kun ne tulevat aktiivisiksi. org.eclipse.ui.editorActions-laajennuspisteen avulla lisäosa voi tehdä lisäyksiä työympäristön valikoihin ja työkaluriviin, kun toinen lisäosan muokkausohjelma aktivoituu.
Readme-esimerkissä lisäosa lisää editorActions-laajennuspisteen avulla toimintoja readme-muokkausohjelman toimittamaan valikkoon. Tiedoston plugin.xml määrityksen pitäisi nyt olla melko tuttu.
<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>
Samoin kuin näkymätoiminnon, laajennuksen on määritettävä sen muokkausohjelman targetID, johon ne ovat lisäämässä toimintoja. Toiminto itse on hyvin samanlainen kuin näkymätoiminto (id, label, icon, toolbarPath jne.), mutta määritetyn luokan on toteutettava rajapintaa IEditorActionDelegate ja toiminnolle voi määrittää definitionId-tunnuksen, jonka avulla se yhdistetään komentoon, joka on määritetty näppäinsidonnoissa tärkeän laajennuksen org.eclipse.ui.commands avulla. Lisätietoja on kohdassa Komennot.
Huomaa, että valikkopalkin polkua ei ole määritetty näissä merkinnöissä. Tämän vuoksi toiminto näkyy työympäristön työkalurivissä, kun muokkausohjelma on aktiivinen, mutta ei työympäristön valikkopalkissa. (Lisätietoja työkaluriveistä ja valikkopoluista on ohjeaiheessa Valikko- ja työkalurivipolut.)
Kun muokkausohjelma on aktiivinen, muokkausohjelman toiminto näkyy työkalurivissä muokkausohjelman lisäämien toimintojen vieressä.
Readme-työkalu toimittaa EditorActionDelegate-luokan toiminnon toteuttamiseen. Tämä on luokka on hyvin samanlainen kuin aiemmin kuvattu näkymätoiminnon delegaatti.
public void run(IAction action) { MessageDialog.openInformation(editor.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("Editor_Action_executed")); }