org.eclipse.ui.editorActions

エディターがアクティブなときに、エディターはワークベンチ・メニューおよびツールバーに、 独自のアクションを組み込む方法を先ほど説明しました。  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="&amp;Readme Editor Extension"
                    toolbarPath="ReadmeEditor" 
                    icon="icons/basic/obj16/editor.gif" 
                    tooltip="Run Readme Editor Extension"
                    class="org.eclipse.ui.examples.readmetool.EditorActionDelegate" 
                    /> 
        </editorContribution>
</extension>

ビュー・アクションと同様に、拡張により、 アクションの組み込み先のエディターの targetID を指定する必要があります。  アクション自体は、指定したクラスが IEditorActionDelegate を インプリメントしなければならないことを除いて、ビュー・アクションに極めて類似しています (idlabel、および toolbarPath)。  

メニュー・バー・パスは、このマークアップに指定されていないことに注意してください。  つまり、アクションは、エディターがアクティブのときにワークベンチ・ツールバーには表示されますが、 ワークベンチ・メニュー・バーには表示されません。  (ツールバーおよびメニュー・パスの詳細については、 『 メニューおよびツールバー・パス』を参照してください。)

実際、エディターがアクティブのとき、エディター自体によって組み込まれたアクションの隣のツールバー上に、 エディター・アクションが表示されます。

README ツールは、アクションをインプリメントするための EditorActionDelegate を提供します。  これは、前に説明したビュー・アクション代行に極めて類似しています。

public void run(IAction action) {
    MessageDialog.openInformation(editor.getSite().getShell(),
        "Readme Editor", 
        "Editor Action executed");
}