편집기를 활성화한 경우 편집기가 자체 조치를 Workbench 메뉴와 도구 모음에 제공하는 방법을 살펴보았습니다. org.eclipse.ui.editorActions 확장점을 사용하면 다른 플러그인의 편집기가 활성화될 때 플러그인에서 Workbench 메뉴와 도구 모음에 추가할 수 있습니다.
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" /> </editorContribution> </extension>
보기 조치와 유사하게 확장에서는 조치를 제공하는 편집기의 targetID를 지정해야 합니다. 조치 자체는 보기 조치(id, label, icon 및 toolbarPath...)와 매우 유사합니다. 단, 지정된 클래스가 IEditorActionDelegate를 구현해야 합니다.
메뉴 표시줄 경로는 이 마크업에서 지정되지 않습니다. 따라서 편집기가 활성화될 때 이 조치가 Workbench 메뉴 표시줄이 아니라 도구 모음에 표시됩니다. 도구 모음 및 메뉴 경로에 대한 설명은 메뉴 및 도구 모음 경로를 참조하십시오.
편집기가 활성화된 경우 편집기 자체에서 제공한 조치 옆에 있는 도구 모음에 편집기 조치가 표시됩니다.
readme 도구는 EditorActionDelegate를 제공하여 조치를 구현합니다. 이 클래스는 앞에서 보았던 보기 조치 위임과 매우 유사합니다.
public void run(IAction action) { MessageDialog.openInformation(editor.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("Editor_Action_executed")); }