ÆíÁý±â¸¦ Ȱ¼ºÈÇÑ °æ¿ì ÆíÁý±â°¡ ÀÚü Á¶Ä¡¸¦ 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.gif" 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")); }