ÆíÁý±â¸¦ Ȱ¼ºÈÇÑ °æ¿ì ÆíÁý±â¿¡¼ ÀÚ½ÅÀÇ Á¶Ä¡¸¦ 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="&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¸¦ ±¸ÇöÇØ¾ß ÇÏ´Â Á¡¸¸ Á¦¿ÜÇÏ¸é º¸±â Á¶Ä¡(id, label ¹× toolbarPath)¿Í ¸Å¿ì À¯»çÇÕ´Ï´Ù.
¸Þ´º Ç¥½ÃÁÙÀ» ÀÌ ¸¶Å©¾÷¿¡¼ ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù´Â Á¡À» ¿°µÎÇØ µÓ´Ï´Ù. À̰ÍÀº ÆíÁý±â°¡ Ȱ¼ºÈµÈ °æ¿ì ÀÌ Á¶Ä¡°¡ Workbench ¸Þ´º Ç¥½ÃÁÙÀÌ ¾Æ´Ñ µµ±¸ ¸ðÀ½¿¡ Ç¥½ÃµÈ´Ù´Â ÀǹÌÀÔ´Ï´Ù. µµ±¸ ¸ðÀ½ ¹× ¸Þ´º °æ·Î¿¡ ´ëÇÑ ¼³¸íÀº ¸Þ´º ¹× ¸Þ´º Ç¥½ÃÁÙ °æ·Î¸¦ ÂüÁ¶ÇϽʽÿÀ.
ÆíÁý±â°¡ Ȱ¼ºÈµÈ °æ¿ì ÆíÁý±â ÀÚü¿¡¼ Á¦°øÇÑ Á¶Ä¡ ¿·¿¡ ÀÖ´Â µµ±¸ ¸ðÀ½¿¡ ÆíÁý±â Á¶Ä¡°¡ Ç¥½ÃµË´Ï´Ù.
readme µµ±¸¿¡¼´Â EditorActionDelegate¸¦ Á¦°øÇÏ¿© Á¶Ä¡¸¦ ±¸ÇöÇÕ´Ï´Ù. À̰ÍÀº ÀÌÀü¿¡ º¸¾Ò´ø º¸±â Á¶Ä¡ ´ëÇ¥ÀÚ¿Í ¸Å¿ì À¯»çÇÕ´Ï´Ù.
public void run(IAction action) {
MessageDialog.openInformation(editor.getSite().getShell(),
"Readme Editor",
"Editor Action executed");
}