Ç÷¯±×Àο¡¼ org.eclipse.ui.actionSets È®ÀåÁ¡À» »ç¿ëÇÏ¿© ¸Þ´º, ¸Þ´º Ç׸ñ, µµ±¸ ¸ðÀ½ Ç׸ñ µîÀÇ ±â´ÉÀ» Workbench ¸Þ´º¿Í µµ±¸ ¸ðÀ½¿¡ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷¯±×ÀÎÀÇ ¸Þ´º¸¦ ÇѲ¨¹ø¿¡ Ç¥½ÃÇÒ ¶§ ³ªÅ¸³¯ ¼ö Àִ ȥ¶õÀ» ÁÙÀ̱â À§ÇØ Á¦°øµÈ ¸Þ´º ±â´ÉÀ» »ç¿ëÀÚ È¯°æ ¼³Á¤¿¡¼ º¼ ¼ö ÀÖ´Â Á¶Ä¡ ¼¼Æ®·Î ±×·ìÈÇÕ´Ï´Ù.
Workbench ¸Þ´º¿¡¼ Perspective->»ç¿ëÀÚ Á¤ÀÇ...¸¦ ¼±ÅÃÇÏ¿© Workbench¿¡ Á¦°øÇÑ Á¶Ä¡ ¼¼Æ®¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¸é »ç¿ë °¡´ÉÇÑ ¸ðµç Á¶Ä¡ ¼¼Æ®¸¦ ³ª¿ÇÏ´Â ´ëÈ »óÀÚ°¡ Ç¥½ÃµË´Ï´Ù. Á¶Ä¡ ¼¼Æ®¸¦ üũ Ç¥½ÃÇÏ¸é ¸Þ´º¿Í µµ±¸ ¸ðÀ½ Á¶Ä¡°¡ Workbench¿¡ ³ªÅ¸³³´Ï´Ù.Á¶Ä¡ ¼¼Æ® À̸§À» ¼±ÅÃÇÏ¿© ¿À¸¥ÂÊ¿¡ »ç¿ë °¡´ÉÇÑ Á¶Ä¡ ¸ñ·ÏÀ» Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ±×¸²¿¡¼´Â Workbench¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â Á¶Ä¡ ¼¼Æ® ¸ñ·ÏÀ» Ç¥½ÃÇÕ´Ï´Ù. ¼³Ä¡ÇÑ Ç÷¯±×Àΰú Ȱ¼ºÈµÈ Perspective¿¡ µû¶ó Workbench ¸ð½ÀÀÌ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.
readme µµ±¸¿¡¼´Â Á¶Ä¡ ¼¼Æ®¸¦ »ç¿ëÇÏ¿© "Readme ºê¶ó¿ìÀú ¿±â" Á¶Ä¡¸¦ Workbench ¸Þ´º¿¡ Á¦°øÇÕ´Ï´Ù. À¯»çÇÑ Á¶Ä¡¸¦ ÀÚ¿ø ³×ºñ°ÔÀÌÅÍÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øÇß½À´Ï´Ù. ¸¶Å©¾÷Àº ´ÙÀ½°ú °°½À´Ï´Ù.
<extension
point = "org.eclipse.ui.actionSets">
<actionSet id="org_eclipse_ui_examples_readmetool_actionSet"
label="ReadMe Actions"
visible="true">
<menu id="org_eclipse_ui_examples_readmetool"
label="Readme &File Editor"
path="window/additions">
<separator name="slot1"/>
<separator name="slot2"/>
<separator name="slot3"/>
</menu>
<action id="org_eclipse_ui_examples_readmetool_readmeAction"
menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
toolbarPath="readme"
label="&Open Readme
Browser@Ctrl+R"
tooltip="Open Readme Browser"
helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
icon="icons/basic/ctool16/openbrwsr.gif"
class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
enablesFor="1">
<selection
class="org.eclipse.core.resources.IFile"
name="*.readme">
</selection>
</action>
</actionSet>
</extension>
¿©±â¿¡´Â ¿©·¯ °¡Áö Ç׸ñÀÌ ¸¹½À´Ï´Ù. ÇÑ ¹ø¿¡ ÇÑ ´Ü°è¾¿ ÁøÇàÇØº¸°Ú½À´Ï´Ù.
¸ÕÀú Á¶Ä¡ ¼¼Æ®¸¦ ¼±¾ðÇÏ°í ·¹À̺íÀ» Á¦°øÇÕ´Ï´Ù. "ReadMe Actions" ·¹À̺íÀ» »ç¿ëÇÏ¿© À§¿¡ Ç¥½ÃµÈ ´ëÈ »óÀÚ¿¡ Á¶Ä¡ ¼¼Æ®¸¦ Ç¥½ÃÇÕ´Ï´Ù. visibleÀ» ÂüÀ¸·Î ¼³Á¤Ç߱⠶§¹®¿¡ Workbench¿¡¼ Ãʱ⿡ Á¶Ä¡ ¼¼Æ® ¸ñ·ÏÀÇ Á¶Ä¡ ¼¼Æ®¿¡ üũ Ç¥½Ã¸¦ ÇÏ°Ô µÇ°í ÀÌ¿¡ µû¶ó Á¶Ä¡°¡ ³ªÅ¸³³´Ï´Ù.
Á¶Ä¡ ¼¼Æ® ¼±¾ðÀÇ ³ª¸ÓÁö ºÎºÐÀº Á¶Ä¡°¡ Ç¥½ÃµÇ´Â ¸Þ´º¿Í Á¶Ä¡ÀÇ Á¤ÀÇ¿¡ °ü·ÃµÈ °ÍÀÔ´Ï´Ù.
·¹À̺í("Readme & ÆÄÀÏ ÆíÁý±â")ÀÌ Workbench ¸Þ´º¿¡ ³ªÅ¸³ª´Â ¸Þ´º¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¸Þ´ºÀÇ °æ·Î´Â Workbench¿¡°Ô â ¸Þ´ºÀÇ Ãß°¡ ½½·Ô¿¡ »õ ¸Þ´º¸¦ ¹èÄ¡Çϵµ·Ï ¸í·ÉÇÕ´Ï´Ù. ¸Þ´º °æ·Î¿Í ½½·Ô¿¡ ´ëÇÑ ¼³¸íÀº ¸Þ´º ¹× µµ±¸ ¸ðÀ½ °æ·Î¸¦ ÂüÁ¶ÇϽʽÿÀ. ¸Þ´ºÀÇ Æ¯Á¤ À§Ä¡¿¡ Á¶Ä¡¸¦ »ðÀÔÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â »õ ¸Þ´ºÀÇ ÀϺΠ½½·ÔÀ» Á¤ÀÇÇß½À´Ï´Ù.
À̸¦ ÅëÇØ ¸Þ´º°¡ Workbench â ¸Þ´º¿¡ ³ªÅ¸³ª°Ô µË´Ï´Ù.
´ÙÀ½À¸·Î Á¶Ä¡ ÀÚü¸¦ Á¤ÀÇÇÕ´Ï´Ù. Á¶Ä¡ Á¤ÀÇ(id, ·¹À̺í, ¾ÆÀÌÄÜ, Ŭ·¡½º)´Â º¸±â, ÆíÁý±â ¹× ÆË¾÷¿¡¼ º¸¾Ò´ø ´Ù¸¥ Á¶Ä¡¿Í À¯»çÇÕ´Ï´Ù. ¿©±â¼´Â ±× Â÷ÀÌÁ¡(Á¶Ä¡ÀÇ ¹æÇâ)¿¡ ´ëÇØ ÁßÁ¡ÀûÀ¸·Î ¾Ë¾Æº¸±â·Î ÇϰڽÀ´Ï´Ù. menubarPath ¹× toolbarPath¸¦ »ç¿ëÇÏ¿© À§Ä¡¸¦ Ç¥½ÃÇÕ´Ï´Ù. ¸ÕÀú Á¶Ä¡¸¦ Á¤ÀÇÇÑ ¸Þ´ºÀÇ ½½·Ô¿¡ Ãß°¡ÇÕ´Ï´Ù.
±×·± ´ÙÀ½ »õ toolbarPath¸¦ Á¤ÀÇÇÏ¿© Á¶Ä¡¸¦ Workbench µµ±¸ ¸ðÀ½¿¡ »ðÀÔÇÕ´Ï´Ù. »õ µµ±¸ °æ·ÎÀ̱⠶§¹®¿¡ Workbench¿¡¼´Â ´Ù¸¥ Ç÷¯±×ÀÎÀÇ µµ±¸ ¸ðÀ½ Á¦°ø ±â´É°ú °ü·ÃÇÏ¿© ¾îµð·Î ÁøÇàÇÒ °ÍÀÎÁö °áÁ¤ÇÕ´Ï´Ù.
ÀÌ Á¶Ä¡¸¦ Ȱ¼ºÈÇÏ´Â Á¶°Çµµ Á¦°øµË´Ï´Ù. ÇϳªÀÇ(enablesFor="1") readme ÆÄÀÏ(selectionClass ="org.eclipse.core.resources.IFile" name="*.readme")À» ¼±ÅÃÇÑ °æ¿ì¿¡¸¸ »õ ¸Þ´º Ç׸ñ°ú µµ±¸ ¸ðÀ½ Ç׸ñÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
plugin.xml ÆÄÀÏÀÇ ¸¶Å©¾÷¸¸À» ±âÁØÀ¸·Î ÀÌ ¸Þ´º¿Í µµ±¸ ¸ðÀ½ Ç׸ñÀÌ ³ªÅ¸³ª°í Ȱ¼ºÈµÉ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ°¡ Á¶Ä¡¸¦ ¼±ÅÃÇϰí Workbench¿¡¼ Á¶Ä¡ Ŭ·¡½º¸¦ ½ÇÇàÇÒ ¶§±îÁö Ç÷¯±×ÀÎ Äڵ带 ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
Á¶Ä¡ ¼¼Æ®°¡ µµ±¸ ¸ðÀ½¿¡ Ç®´Ù¿îÀ¸·Î Ç¥½ÃµÉ °æ¿ì Á¶Ä¡ Ŭ·¡½º¿¡¼ IWorkbenchWindowActionDelegate ¶Ç´Â IWorkbenchWindowPulldownDelegate¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. µµ±¸ ¸ðÀ½ Ç®´Ù¿îÀ» ¸¸µéÁö ¾Ê¾Ò±â ¶§¹®¿¡ WindowActionDelegate¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â ObjectActionDelegate¿Í À¯»çÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ Á¶Ä¡¸¦ ¼±ÅÃÇϸé ÀÌ Å¬·¡½º¿¡¼ readme ¼½¼Ç ´ëÈ »óÀÚ¸¦ ½ÇÇàÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ´ëÈ »óÀÚ¿¡ ¼½¼Ç ´ëÈ »óÀÚ°¡ Ç¥½ÃµË´Ï´Ù.