Ç÷¯±×Àο¡¼ Workbench¿¡ ÀÌ¹Ì Á¸ÀçÇÏ´Â º¸±â¿¡ ÀÛµ¿À» Á¦°øÇÏ´Â °ÍÀ» ÈçÈ÷ º¼ ¼ö ÀÖ½À´Ï´Ù. org.eclipse.ui.viewActions È®ÀåÁ¡À» ÅëÇØ ÀÌ ÀÛ¾÷ÀÌ ¼öÇàµË´Ï´Ù. ÀÌ È®ÀåÁ¡À» »ç¿ëÇϸé Ç÷¯±×Àο¡¼ ¸Þ´º Ç׸ñ, ¼ºê¸Þ´º ¹× µµ±¸ ¸ðÀ½ Ç׸ñÀ» ±âÁ¸ º¸±âÀÇ ·ÎÄà Ǯ´Ù¿î ¸Þ´º¿Í ·ÎÄà µµ±¸ ¸ðÀ½¿¡ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
readme ÆÄÀÏÀ» ¼±ÅÃÇÒ ¶§¸¶´Ù »ç¿ë °¡´ÉÇÏ°Ô µÇ´Â ³×ºñ°ÔÀÌÅÍÀÇ ·ÎÄà µµ±¸ ¸ðÀ½¿¡ ÀÖ´Â Ç׸ñÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ç׸ñÀº ³×ºñ°ÔÀÌÅÍÀÇ ·ÎÄà Ǯ´Ù¿î ¸Þ´º¿¡µµ ³ªÅ¸³³´Ï´Ù. readme µµ±¸ Ç÷¯±×Àο¡¼ viewActions È®ÀåÀ» »ç¿ëÇÏ¿© ÀÌ Á¶Ä¡¸¦ Á¦°øÇϱ⠶§¹®¿¡ ³ªÅ¸³³´Ï´Ù.
°ü·ÃµÇ´Â plugin.xml Áö½Ã¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
<extension point = "org.eclipse.ui.viewActions"> <viewContribution id="org.eclipse.ui.examples.readmetool.vc1" targetID="org.eclipse.ui.views.ResourceNavigator"> <action id="org.eclipse.ui.examples.readmetool.va1" label="%PopupMenu.ResourceNav.label" menubarPath="additions" toolbarPath="additions" icon="icons/obj16/editor.gif" tooltip="%PopupMenu.ResourceNav.tooltip" helpContextId="org.eclipse.ui.examples.readmetool.view_action_context" class="org.eclipse.ui.examples.readmetool.ViewActionDelegate" enablesFor="1"> <selection class="org.eclipse.core.resources.IFile" name="*.readme"/> </action> </viewContribution> </extension>
°íÀ¯ÇÑ id¸¦ °¡Áø º¸±â Áö½Ã¹®À» ÁöÁ¤ÇÕ´Ï´Ù. Á¶Ä¡¸¦ Ãß°¡ÇÏ·Á´Â º¸±â¸¦ targetID¿¡ ÁöÁ¤ÇÕ´Ï´Ù. ÀÚ¿ø ³×ºñ°ÔÀÌÅÍÀÇ ¸Þ´º¿¡ ´ëÇØ Á¦°øÇϰí ÀÖ½À´Ï´Ù. »õ Á¶Ä¡¿¡ ´ëÇØ ·¹À̺í, ¸Þ´º Ç¥½ÃÁÙ ¹× µµ±¸ ¸ðÀ½ À§Ä¡¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¸Þ´º¿Í µµ±¸ ¸ðÀ½ À§Ä¡¿¡ ´ëÇÑ Àüü ¼³¸íÀº ¸Þ´º ¹× µµ±¸ ¸ðÀ½ °æ·Î¸¦ ÂüÁ¶ÇϽʽÿÀ.
Á¶Ä¡°¡ Ȱ¼ºÈµÇ´Â Á¶°Çµµ ÁöÁ¤ÇÕ´Ï´Ù. ÆÄÀÏ È®ÀåÀÚÀÇ À̸§ÀÌ ".readme"(name="*.readme")ÀÎ IFile (class="org.eclipse.core.resources.IFile") À¯ÇüÀÇ ¼±ÅûçÇ×(enablesFor="1")ÀÌ Çϳª ÀÖÀ» °æ¿ì ÀÌ Á¶Ä¡´Â »ç¿ë °¡´ÉÇÕ´Ï´Ù. ±×¸®°í ÀÚ¿ø ³×ºñ°ÔÀÌÅÍ ÁÖº¯À» Ŭ¸¯ÇÒ °æ¿ì¿¡µµ ¸¶Âù°¡Áö·Î Ȱ¼ºÈµË´Ï´Ù.
Ç÷¯±×ÀÎ ÄÚµå´Â Á¶Ä¡°¡ ¸Þ´º³ª µµ±¸ ¸ðÀ½¿¡¼ ½ÇÁ¦·Î ¼±ÅÃµÈ °æ¿ì¿¡¸¸ ½ÇÇàµÇ¹Ç·Î ¸Þ´º¿Í µµ±¸ ¸ðÀ½¿¡ Ç׸ñÀ» Ãß°¡ÇÏ´Â µ¥ plugin.xml Á¤º¸¸¸ ÇÊ¿äÇÕ´Ï´Ù. Á¶Ä¡ ÀÛµ¿À» Á¦°øÇÏ·Á¸é plugin.xml¿¡ ÁöÁ¤µÈ ±¸Çö Ŭ·¡½º´Â IViewActionDelegate ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.
ÀÌ ¿¹¿¡¼ readme Ç÷¯±×ÀÎÀº Á¶Ä¡¸¦ ±¸ÇöÇϱâ À§ÇÑ ViewActionDelegate¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½º¸¦ ã¾Æ º¸¸é ¿©±â¿¡ ÇØ´ç º¸±â¸¦ ±â¾ïÇÏ°í ¼±ÅûçÇ× º¯°æÀ» ó¸®Çϰí Á¶Ä¡¸¦ È£ÃâÇÏ´Â ¸Þ¼Òµå°¡ Æ÷ÇԵǾî ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. È£ÃâµÉ ¶§ Á¶Ä¡ ÀÚü´Â ½ÇÇàµÇ¾úÀ½À» ¾Ë¸®´Â ´ëÈ »óÀÚ¸¦ ½ÇÇàÇÕ´Ï´Ù.
public void run(org.eclipse.jface.action.IAction action) { MessageDialog.openInformation(view.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("View_Action_executed")); }
ÀÌ Á¶Ä¡´Â °£´ÜÇÏÁö¸¸ ¼±ÅûçÇ×°ú Á» ´õ ±â´ÉÀûÀÎ ´ëÈ »óÀÚ¸¦ »ç¿ëÇÏ¿© Á¶Ä¡¸¦ ´õ ´Ùä·Ó°Ô ¸¸µé ¼ö ÀÖ´Â ¹æ¹ýÀ» »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.