Ç÷¯±×ÀÎÀº org.eclipse.ui.actionSets È®ÀåÁ¡À» »ç¿ëÇÏ¿© ¸Þ´º, ¸Þ´º Ç׸ñ ¹× µµ±¸ ¸ðÀ½ Ç׸ñÀ» Workbench ¸Þ´º¿Í µµ±¸ ¸ðÀ½¿¡ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç÷¯±×ÀÎÀÇ ¸Þ´º Áö½Ã¹®À» µ¿½Ã¿¡ Ç¥½ÃÇÒ ¶§ ¹ß»ýÇÒ ¼ö Àִ ȥ¶õÀ» ÁÙÀ̱â À§ÇØ »ç¿ëÀÚ È¯°æ ¼³Á¤¿¡¼ Ç¥½ÃÇÒ ¼ö ÀÖ´Â Á¶Ä¡ ¼¼Æ®·Î Áö½Ã¹®À» ±×·ìÈÇÕ´Ï´Ù.
Workbench ¸Þ´º¿¡¼ â->Perspective »ç¿ëÀÚ Á¤ÀÇ...¸¦ ¼±ÅÃÇÏ¿© Workbench¿¡ Á¦°øµÈ Á¶Ä¡ ¼¼Æ®¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¿É¼ÇÀº ÇöÀç Perspective¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹Ù·Î °¡±â¿Í Á¶Ä¡ ¼¼Æ®¸¦ ³ª¿ÇÏ´Â ´ëÈ »óÀÚ¸¦ Ç¥½ÃÇÕ´Ï´Ù. Á¶Ä¡ ¼¼Æ®´Â ±âŸ¿¡ ³ª¿µË´Ï´Ù. Á¶Ä¡ ¼¼Æ®¿¡ üũ Ç¥½ÃÇÏ¸é ¸Þ´º¿Í µµ±¸ ¸ðÀ½ Á¶Ä¡°¡ Workbench¿¡ ³ªÅ¸³³´Ï´Ù.Á¶Ä¡ ¼¼Æ® À̸§À» ¼±ÅÃÇÏ¿© ¿À¸¥ÂÊ¿¡ »ç¿ë °¡´ÉÇÑ Á¶Ä¡ ¸ñ·ÏÀ» Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ±×¸²¿¡¼´Â Workbench¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â Á¶Ä¡ ¼¼Æ® ¸ñ·ÏÀ» Ç¥½ÃÇÕ´Ï´Ù. ¼³Ä¡ÇÑ Ç÷¯±×Àΰú Ȱ¼ºÈµÈ Perspective¿¡ µû¶ó Workbench ¸ð½ÀÀÌ ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.
readme µµ±¸´Â Á¶Ä¡ ¼¼Æ®¸¦ »ç¿ëÇÏ¿© ¸î °³ÀÇ ´Ù¸¥ "Readme ºê¶ó¿ìÀú ¿±â" Á¶Ä¡¸¦ Workbench ¸Þ´º¿¡ Á¦°øÇÕ´Ï´Ù. À¯»çÇÑ Á¶Ä¡¸¦ ÀÚ¿ø ³×ºñ°ÔÀÌÅÍÀÇ ÆË¾÷ ¸Þ´º¿¡ Á¦°øÇß½À´Ï´Ù. ¸¶Å©¾÷Àº ´ÙÀ½°ú °°½À´Ï´Ù.
<extension point = "org.eclipse.ui.actionSets"> <actionSet id="org_eclipse_ui_examples_readmetool_actionSet" label="%ActionSet.name" visible="true"> <menu id="org_eclipse_ui_examples_readmetool" label="%ActionSet.menu" 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="%ReadmeAction.label" tooltip="%ReadmeAction.tooltip" helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context" icon="icons/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>
¿©±â¿¡´Â ¸¹Àº Ç׸ñÀÌ ÀÖ½À´Ï´Ù. ÇÑ ¹ø¿¡ ÇÑ ´Ü°è¾¿ ÁøÇàÇØº¸°Ú½À´Ï´Ù. óÀ½ Á¶Ä¡ºÎÅÍ »ìÆìº¾´Ï´Ù.
¸ÕÀú Á¶Ä¡ ¼¼Æ®¸¦ ¼±¾ðÇϰí labelÀ» Á¦°øÇÕ´Ï´Ù. "ReadMe Á¶Ä¡" ·¹À̺í(Ç÷¯±×ÀÎÀÇ Æ¯¼º ÆÄÀÏ¿¡ ÀÖ´Â %ActionSet.name Ű¿¡ ´ëÇØ Á¤ÀǵÊ)À» »ç¿ëÇÏ¿© À§¿¡ Ç¥½ÃµÈ ´ëÈ »óÀÚÀÇ Á¶Ä¡ ¼¼Æ®¸¦ Ç¥½ÃÇÕ´Ï´Ù. visibleÀ» true·Î ¼³Á¤Ç߱⠶§¹®¿¡ Ãʱâ Workbench¿¡´Â Á¶Ä¡ ¼¼Æ® ¸ñ·Ï¿¡ ¼±ÅÃµÈ Á¶Ä¡ ¼¼Æ®°¡ ÀÖÀ¸¸ç Á¶Ä¡¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
Á¶Ä¡ ¼¼Æ® ¼±¾ðÀÇ ³ª¸ÓÁö´Â Á¶Ä¡°¡ Ç¥½ÃµÇ´Â ¸Þ´º ¹× Á¶Ä¡¿¡ ´ëÇÑ Á¤ÀÇ¿¡ °ü·ÃµÇ¾î ÀÖ½À´Ï´Ù.
Workbench ¸Þ´º¿¡ ³ªÅ¸³ª´Â labelÀÇ ¸Þ´º¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¸Þ´ºÀÇ pass´Â Workbench°¡ window ¸Þ´ºÀÇ additions ½½·Ô¿¡ »õ ¸Þ´º¸¦ ³õµµ·Ï ÇÕ´Ï´Ù. ¸Þ´º °æ·Î¿Í ½½·Ô¿¡ ´ëÇÑ ¼³¸íÀº ¸Þ´º ¹× µµ±¸ ¸ðÀ½ °æ·Î¸¦ ÂüÁ¶ÇϽʽÿÀ. ¶ÇÇÑ Á¶Ä¡°¡ ¸Þ´ºÀÇ Æ¯Á¤ À§Ä¡¿¡ »ðÀԵǵµ·Ï »õ ¸Þ´ºÀÇ ÀϺΠ½½·ÔÀ» Á¤ÀÇÇÕ´Ï´Ù.
ÀÌ ¸¶Å©¾÷¸¸À¸·Î ¸Þ´º°¡ Workbench â ¸Þ´º¿¡ ³ªÅ¸³³´Ï´Ù.
´ÙÀ½À¸·Î Á¶Ä¡ ÀÚü¸¦ Á¤ÀÇÇÕ´Ï´Ù.
Á¶Ä¡ Á¤ÀÇ(id, label, icon, class)´Â º¸±â, ÆíÁý±â ¹× ÆË¾÷¿¡¼ º¸¾Ò´ø ±âŸ Á¶Ä¡¿Í À¯»çÇÕ´Ï´Ù. ¿©±â¼´Â ±× Â÷ÀÌÁ¡(Á¶Ä¡°¡ À̵¿ÇÏ´Â À§Ä¡)¿¡ ´ëÇØ ÁßÁ¡ÀûÀ¸·Î ¾Ë¾Æº¸°Ú½À´Ï´Ù. menubarPath ¹× toolbarPath¸¦ »ç¿ëÇÏ¿© À§Ä¡¸¦ Ç¥½ÃÇÕ´Ï´Ù. ¸ÕÀú menubarPath¸¦ Á¤ÀÇÇÏ¿© Áö±Ý Á¤ÀÇÇÑ ¸Þ´ºÀÇ ½½·Ô¿¡ Á¶Ä¡¸¦ Ãß°¡ÇÕ´Ï´Ù("window/org_eclipse_ui_examples_readmetool/slot1").
±×·± ´ÙÀ½ Workbench µµ±¸ ¸ðÀ½¿¡ Á¶Ä¡¸¦ »ðÀÔÇϵµ·Ï »õ toolbarPath¸¦ Á¤ÀÇÇÕ´Ï´Ù. »õ µµ±¸ °æ·Î "readme"¸¦ Á¤ÀÇÇßÀ¸¹Ç·Î Workbench´Â ´Ù¸¥ Ç÷¯±×ÀÎÀÇ µµ±¸ ¸ðÀ½ Áö½Ã¹®¿¡ ´ëÇÑ ÀûÀýÇÑ À§Ä¡¸¦ °áÁ¤ÇÕ´Ï´Ù.
»ç¿ëÀÚ°¡ Á¶Ä¡¸¦ ¼±ÅÃÇÒ °æ¿ì ¾î¶² ÀÏÀÌ ¹ß»ýÇմϱî? Á¶Ä¡´Â class ¼Ó¼º¿¡ ÁöÁ¤µÈ Ŭ·¡½º¿¡ ÀÇÇØ ±¸ÇöµË´Ï´Ù. Á¶Ä¡°¡ µµ±¸ ¸ðÀ½¿¡ Ç®´Ù¿î µµ±¸ Ç׸ñÀ¸·Î Ç¥½ÃµÉ °æ¿ì Á¶Ä¡ class¿¡¼ IWorkbenchWindowActionDelegate ¶Ç´Â IWorkbenchWindowPulldownDelegate¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. Ç®´Ù¿î µµ±¸ Ç׸ñÀ» ¸¸µéÁö ¾Ê¾Ò±â ¶§¹®¿¡ WindowActionDelegate¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½º´Â ObjectActionDelegate¿Í À¯»çÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ Á¶Ä¡¸¦ ¼±ÅÃÇϸé ÀÌ Å¬·¡½º´Â readme ¼½¼Ç ´ëÈ »óÀÚ¸¦ ½ÇÇàÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ ´ëÈ »óÀÚÀÇ ¼½¼Ç ´ëÈ »óÀÚ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
Á¶Ä¡´Â ¸Þ´º Ç׸ñ ¹× µµ±¸ ¸ðÀ½ Ç׸ñ¿¡ ´ëÇÑ »ç¿ë °¡´É Á¶°Çµµ Á¦°øÇÕ´Ï´Ù. ¸Þ´º ¹× µµ±¸ ¸ðÀ½ Ç׸ñÀº Çϳª(enablesFor="1")ÀÇ readme ÆÄÀÏ(selectionClass ="org.eclipse.core.resources.IFile" name="*.readme")ÀÌ ¼±ÅÃµÈ °æ¿ì¿¡¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù. plugin.xml ÆÄÀÏÀÇ ¸¶Å©¾÷ ¶§¹®¿¡ ÀÌ Á¶Ä¡ÀÇ ¸Þ´º ¹× µµ±¸ ¸ðÀ½ Ç׸ñÀÌ Ç¥½ÃµÇ°í »ç¿ë °¡´ÉÇÏ°Ô µË´Ï´Ù. »ç¿ëÀÚ°¡ Á¶Ä¡¸¦ ¼±ÅÃÇϰí Workbench°¡ Á¶Ä¡ class¸¦ ½ÇÇàÇÒ ¶§±îÁö Ç÷¯±×ÀÎ Äڵ尡 ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù.
³ªÁß¿¡ »õ·Î ´ë»ó ÁöÁ¤ °¡´ÉÇÑ Á¶Ä¡ ÄÁÅØ½ºÆ®¿¡¼ ´Ù¸¥ µÎ Á¶Ä¡¸¦ »ìÆìº¼ °ÍÀÔ´Ï´Ù.