org.eclipse.ui.editorActions

편집기를 활성화한 경우 편집기가 자체 조치를 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, icontoolbarPath...)와 매우 유사합니다. 단, 지정된 클래스가 IEditorActionDelegate를 구현해야 합니다.  

메뉴 표시줄 경로는 이 마크업에서 지정되지 않습니다. 따라서 편집기가 활성화될 때 이 조치가 Workbench 메뉴 표시줄이 아니라 도구 모음에 표시됩니다. 도구 모음 및 메뉴 경로에 대한 설명은 메뉴 및 도구 모음 경로를 참조하십시오.

편집기가 활성화된 경우 편집기 자체에서 제공한 조치 옆에 있는 도구 모음에 편집기 조치가 표시됩니다.

편집기 조치가 Workbench 도구 모음의 원래 편집기 컨트리뷰션 옆에 표시됩니다.

readme 도구는 EditorActionDelegate를 제공하여 조치를 구현합니다. 이 클래스는 앞에서 보았던 보기 조치 위임과 매우 유사합니다.

public void run(IAction action) {
	MessageDialog.openInformation(editor.getSite().getShell(),
		MessageUtil.getString("Readme_Editor"),  
		MessageUtil.getString("Editor_Action_executed")); 
}