Á¶Ä¡ ¼¼Æ®
ID: org.eclipse.ui.actionSets
¼³¸í: ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© ¸Þ´º, ¸Þ´º Ç׸ñ ¹× µµ±¸ ¸ðÀ½ ´ÜÃ߸¦ Workbench âÀÇ
°øÅë ¿µ¿ª¿¡ Ãß°¡ÇÕ´Ï´Ù.
ÀÌ Á¦°øÀ» ÅëĪÇÏ¿© Á¶Ä¡ ¼¼Æ®¶ó°í ÇÏ°í »ç¿ëÀÚ È¯°æ ¼³Á¤¿¡ µû¶ó Workbench â¿¡ ³ªÅ¸³³´Ï´Ù.
±¸¼º ¸¶Å©¾÷:
<!ELEMENT actionSet (menu)* (action)* (description?)>
<!ATTLIST actionSet
id
CDATA #REQUIRED
label CDATA #REQUIRED
visible (true
| false) #IMPLIED
>
<!ELEMENT description (#PCDATA)>
-
id - ÇØ´ç Á¶Ä¡ ¼¼Æ®¸¦ ½Äº°ÇÏ´Â µ¥ »ç¿ëÇÏ´Â °íÀ¯ÇÑ À̸§.
-
label - ÇØ´ç Á¶Ä¡ ¼¼Æ®¸¦ ³ªÅ¸³»±â À§ÇØ Workbench â ¸Þ´º¿¡ »ç¿ëÇÏ´Â º¯È¯ °¡´ÉÇÑ À̸§.
-
visible - Á¶Ä¡ ¼¼Æ®°¡ ¸ðµç Perspective¿¡¼ óÀ½¿¡ Ç¥½ÃµÇ¾î¾ß ÇÏ´ÂÁö
¿©ºÎ¸¦ ³ªÅ¸³»´Â ¼±ÅÃÀû ¼Ó¼º. ÀÌ ¿É¼ÇÀº »ç¿ëÀÚ°¡ »ç¿ëÀÚ Á¤ÀǵÇÁö ¾ÊÀº
»õ Perspective¸¦ ¿ °æ¿ì¿¡¸¸ Çã¿ëµË´Ï´Ù. ¶ÇÇÑ »ç¿ëÀÚ´Â "Customize
Perspective Dialog"¿¡¼ ÀÌ ¿É¼ÇÀ» ´ëüÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
-
description - Á¶Ä¡ ¼¼Æ®¸¦ °£·«ÇÏ°Ô ¼³¸íÇÏ´Â ÅØ½ºÆ®°¡ Æ÷ÇԵǴ º»¹®ÀÇ ¼±ÅÃÀû ºÎ¼Ó¿ä¼Ò.
<!ELEMENT menu (separator)+ (groupMarker)*>
<!ATTLIST menu
id
CDATA #REQUIRED
label
CDATA #REQUIRED
path
CDATA #IMPLIED
>
-
id - ÀÌ ¸Þ´º¸¦ ÂüÁ¶ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â °íÀ¯ ID
-
label - »õ ¸Þ´ºÀÇ ÅØ½ºÆ® ·¹À̺í. ·¹ÀÌºí¿¡´Â ±â¾ïÀ» µµ¿ÍÁÖ´Â Á¤º¸°¡ Æ÷ÇԵǾî¾ß ÇÕ´Ï´Ù.
-
path - ¸Þ´º Ç¥½ÃÁÙÀÇ ·çÆ®¿¡¼ ½ÃÀÛÇÏ´Â ¸Þ´ºÀÇ À§Ä¡. »ý·«µÈ °æ¿ì ¸Þ´º´Â
¸Þ´º Ç¥½ÃÁÙÀÇ Ã¢ ¸Þ´º ¾Õ¿¡ Ãß°¡µË´Ï´Ù.
°æ·ÎÀÇ ¸ðµç ÅäÅ«Àº
¸¶Áö¸· ÅäÅ«¸¸ Á¦¿ÜÇϰí WorkbenchÀÇ ±âÁ¸ ¸Þ´º¸¦ ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù.
¸¶Áö¸· ÅäÅ«Àº °æ·ÎÀÇ ¸¶Áö¸· ¸Þ´º¿¡ ÀÖ´Â À̸§ ÁöÁ¤µÈ ±×·ìÀ» ³ªÅ¸³À´Ï´Ù.
<!ELEMENT separator EMPTY>
<!ATTLIST separator
name
CDATA #REQUIRED
>
name - ³ªÁß¿¡ Á¶Ä¡ °æ·ÎÀÇ ¸¶Áö¸· ÅäÅ«À¸·Î ÂüÁ¶ÇÒ ¼ö ÀÖ´Â ºÐ¸®ÀÚ À̸§. µû¶ó¼ ºÐ¸®ÀÚ´Â Á¶Ä¡¿Í
¼ºê¸Þ´º¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Â À̸§ ÁöÁ¤µÈ ±×·ì ¿ªÇÒÀ» ÇÕ´Ï´Ù.
<!ELEMENT groupMarker EMPTY>
<!ATTLIST groupMarker
name
CDATA #REQUIRED
>
name - Á¶Ä¡ °æ·Î¿¡¼ ¸¶Áö¸· ÅäÅ«À¸·Î ³ªÁß¿¡ ÂüÁ¶µÉ ¼ö ÀÖ´Â ±×·ì ¸¶Ä¿ÀÇ À̸§
<!ELEMENT action (selection)* (enablement)?>
<!ATTLIST action
id
NMTOKEN #REQUIRED
label
CDATA #REQUIRED
accelerator
CDATA #IMPLIED
definitionId
CDATA #IMPLIED
menubarPath
CDATA #IMPLIED
toolbarPath
CDATA #IMPLIED
icon
CDATA #IMPLIED
disabledIcon
CDATA #OPTIONAL
hoverIcon
CDATA #OPTIONAL
tooltip
CDATA #IMPLIED
helpContextId
CDATA #IMPLIED
state
(true | false) #IMPLIED
pulldown
(true | false) #IMPLIED
class
CDATA #OPTIONAL
retarget
(true | false) #OPTIONAL
allowLabelUpdate
(true | false) #OPTIONAL
enablesFor
CDATA #IMPLIED
>
-
id - ÇØ´ç Á¶Ä¡¿¡ ´ëÇÑ ÂüÁ¶·Î »ç¿ëÇÒ ¼ö ÀÖ´Â °íÀ¯ÇÑ ID
-
label - ÄÁÅØ½ºÆ®¿¡ µû¶ó ´Ù¾çÇÑ ¹æ½ÄÀ¸·Î »ç¿ëµÇ´Â º¯È¯ °¡´ÉÇÑ À̸§. ¸Þ´º¿¡¼´Â ¸Þ´º ÅØ½ºÆ®·Î
»ç¿ëµÇ¸ç µµ±¸ ¸ðÀ½¿¡¼´Â ´ÜÃß ·¹À̺í·Î »ç¿ëµË´Ï´Ù. ·¹ÀÌºí¿¡´Â JFace ÀÎÄÚµù ´Ï¸ð´Ð ¹× ´ÜÃàŰ Á¤º¸°¡
Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù(¿¹ ÂüÁ¶).
-
accelerator - Á¶Ä¡¿¡ ´ëÇÑ ´ÜÃàŰÀÇ Å°Äڵ带 ÁöÁ¤ÇÏ´Â µ¥ »ç¿ëµÇ´Â Á¤¼ö.
ÀÌ °ªÀº 0°³ ÀÌ»óÀÇ SWT Ű ¼öÁ¤ÀÚ ¸¶½ºÅ©(¿¹: SWT.CTRL ¶Ç´Â SWT.ALT)ÀÇ
ºñÆ® ´ÜÀ§ OR ¹× ¹®ÀÚ Äڵ忡¼ ¾òÀº Á¤¼ö °ªÀÔ´Ï´Ù. ¿¹¸¦ µé¾î Ctrl+ZÀÇ °æ¿ì SWT.CTRL | 'Z' =
(1<<18)|'Z' = 262234¸¦ »ç¿ëÇÕ´Ï´Ù.
-
definitionId - Á¶Ä¡ Á¤ÀÇ¿¡ ÁöÁ¤µÈ ID. Á¶Ä¡ ¼¼Æ®°¡ Ű ¹ÙÀεù ¼ºñ½º¸¦ ÅëÇØ
´ÜÃà۸¦ ÁöÁ¤ÇÒ °æ¿ì¿¡¸¸ ÇÊ¿äÇÕ´Ï´Ù. È®ÀåÁ¡
Á¶Ä¡ Á¤ÀÇ ¹×
´ÜÃàŰ ¼¼Æ®¸¦ ÂüÁ¶ÇϽʽÿÀ.
-
menubarPath - ¸Þ´º Ç¥½ÃÁÙÀÇ Á¶Ä¡ À§Ä¡¸¦ ÁöÁ¤Çϱâ À§ÇØ
»ç¿ëÇÑ ½½·¡½Ã('/')·Î ±¸ºÐÇÑ °æ·Î.
¸¶Áö¸· ÅäÅ«¸¸ Á¦¿ÜÇÏ°í °æ·ÎÀÇ ¸ðµç ÅäÅ«Àº °èÃþ ±¸Á¶¿¡ ÀÖ´Â ±âÁ¸ ¸Þ´ºÀÇ À¯È¿ÇÑ ID¸¦ ³ªÅ¸³À´Ï´Ù.
¸¶Áö¸· ÅäÅ«Àº Á¶Ä¡°¡ Ãß°¡µÉ À̸§ ÁöÁ¤µÈ ºÐ¸®ÀÚ ±×·ìÀ» ³ªÅ¸³À´Ï´Ù. °æ·Î¸¦ »ý·«ÇÏ¸é ¸Þ´º Ç¥½ÃÁÙ¿¡
Á¶Ä¡°¡ ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù.
-
toolbarPath - µµ±¸ ¸ðÀ½ÀÇ Á¶Ä¡ À§Ä¡¸¦ ÁöÁ¤Çϱâ À§ÇØ »ç¿ëÇÑ ½½·¡½Ã('/')·Î ±¸ºÐÇÑ °æ·Î.
ù ¹øÂ° ÅäÅ«Àº µµ±¸ ¸ðÀ½ ID(±âº» µµ±¸ ¸ðÀ½Àº "Normal")¸¦ ³ªÅ¸³»°í µÎ ¹øÂ° ÅäÅ«Àº µµ±¸ ¸ðÀ½ÀÇ
À̸§ ÁöÁ¤µÈ ±×·ìÀÔ´Ï´Ù. µµ±¸ ¸ðÀ½¿¡ ±×·ìÀÌ ¾øÀ¸¸é ±×·ìÀÌ ¸¸µé¾îÁý´Ï´Ù. toolbarPath¸¦ »ý·«Çϸé Á¶Ä¡°¡ µµ±¸ ¸ðÀ½¿¡ ³ªÅ¸³ªÁö
¾Ê½À´Ï´Ù.
-
icon - ÄÁÅØ½ºÆ®ÀÇ Á¶Ä¡¸¦ ½Ã°¢ÀûÀ¸·Î ³ªÅ¸³»±â À§ÇØ »ç¿ëÇÒ ¾ÆÀÌÄÜÀÇ »ó´ë °æ·Î. À̸¦
»ý·«ÇÏ°í µµ±¸ ¸ðÀ½¿¡ Á¶Ä¡¸¦ Ç¥½ÃÇÒ °æ¿ì Workbench¿¡¼´Â À§Ä¡ Ç¥½Ã±â ¾ÆÀÌÄÜÀ» »ç¿ëÇÕ´Ï´Ù. °æ·Î´Â
Á¦°øÇÏ´Â Ç÷¯±×ÀÎÀÇ plugin.xml ÆÄÀÏ À§Ä¡¿¡ µû¶ó ´Ù¸¨´Ï´Ù.¾ÆÀÌÄÜÀº µµ±¸ ¸ðÀ½¿¡ ³ªÅ¸³ªÁö¸¸
¸Þ´º¿¡´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. »ç¿ë °¡´ÉÇÑ Á¶Ä¡´Â dz¼± µµ¿ò¸» ¾ÆÀÌÄÜ¿¡ ÀÇÇØ ¸Þ´º¿¡ ³ªÅ¸³³´Ï´Ù.
-
disabledIcon - Á¶Ä¡°¡ »ç¿ë ºÒ°¡´ÉÇÒ ¶§ ÄÁÅØ½ºÆ®¿¡¼ Á¶Ä¡¸¦ °¡½ÃÀûÀ¸·Î
Ç¥½ÃÇÏ´Â µ¥ »ç¿ëµÉ ¾ÆÀÌÄÜÀÇ °ü·Ã °æ·Î. »ý·«µÈ °æ¿ì ÀÏ¹Ý ¾ÆÀÌÄÜÀÌ
ºñȰ¼ºÈ·Î Ç¥½ÃµË´Ï´Ù. °æ·Î´Â
Á¦°øÇÏ´Â Ç÷¯±×ÀÎÀÇ plugin.xml ÆÄÀÏ À§Ä¡¿¡ µû¶ó ´Ù¸¨´Ï´Ù.»ç¿ë ºÒ°¡´ÉÇÑ
¾ÆÀÌÄÜÀº µµ±¸ ¸ðÀ½¿¡´Â ³ªÅ¸³ªÁö¸¸ ¸Þ´º¿¡´Â ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù.
¸Þ´º¿¡ ÀÖ´Â »ç¿ë ºÒ°¡´ÉÇÑ Á¶Ä¡ÀÇ ¾ÆÀÌÄÜÀº OS¿¡¼ Á¦°øµË´Ï´Ù.
-
hoverIcon - ¸¶¿ì½º°¡ Á¶Ä¡ À§¿¡ ÀÖÀ» ¶§ ÄÁÅØ½ºÆ®¿¡¼ Á¶Ä¡¸¦ °¡½ÃÀûÀ¸·Î
Ç¥½ÃÇÏ´Â µ¥ »ç¿ëµÉ ¾ÆÀÌÄÜÀÇ °ü·Ã °æ·Î.
»ý·«µÈ °æ¿ì ÀÏ¹Ý ¾ÆÀÌÄÜÀÌ »ç¿ëµË´Ï´Ù. °æ·Î´Â
Á¦°øÇÏ´Â Ç÷¯±×ÀÎÀÇ plugin.xml ÆÄÀÏ À§Ä¡¿¡ µû¶ó ´Ù¸¨´Ï´Ù.
-
tooltip - Á¶Ä¡°¡ µµ±¸ ¸ðÀ½¿¡ ³ªÅ¸³¯ °æ¿ì µµ±¸ ÆÁ ÅØ½ºÆ®ÀÇ °ª. ±×·¸Áö
¾ÊÀ¸¸é ¹«½ÃµË´Ï´Ù.
-
helpContextId - ÇØ´ç Á¶Ä¡¿¡ ´ëÇÑ µµ¿ò¸» ÄÁÅØ½ºÆ® ID¸¦ °¡¸®Å°´Â °íÀ¯ÇÑ ID. Á¶Ä¡°¡ ¸Þ´º Ç׸ñÀ¸·Î ³ªÅ¸³ª´Â
°æ¿ì ¸Þ´º Ç׸ñÀÌ °Á¶Ç¥½ÃµÇ¾î ÀÖÀ» ¶§ F1À» ´©¸£¸é ÁÖ¾îÁø ÄÁÅØ½ºÆ® ID¿¡ °üÇÑ µµ¿ò¸»ÀÌ Ç¥½ÃµË´Ï´Ù.
-
state - Á¶Ä¡°¡ Åä±Û À¯Çü Áß ÇϳªÀÓÀ» ³ªÅ¸³»´Â ¼±ÅÃÀû ¼Ó¼º. ¸Þ´º¿¡ Ãß°¡ÇÏ´Â °æ¿ì
ÀÌ ¼Ó¼º ÀÚü¸¦ ¼±Åöõ Ç׸ñÀ¸·Î ¸í½ÃÇÕ´Ï´Ù. µµ±¸ ¸ðÀ½¿¡ Ãß°¡ÇÏ´Â °æ¿ì¿¡´Â Àüȯ ´ÜÃß°¡ µË´Ï´Ù.
ÀÌ ¼Ó¼º°ªÀ» Á¤ÀÇÇϸé Ãʱ⠻óÅÂ(true ¶Ç´Â false)·Î
»ç¿ëµË´Ï´Ù. ÀÌ ¼Ó¼ºÀº pulldown°ú ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
-
pulldown - Á¶Ä¡¿¡ Ãß°¡ Ç®´Ù¿î ¸Þ´º°¡ ÀÖ´ÂÁö ³ªÅ¸³»´Â ¼±ÅÃÀûÀÎ ¼Ó¼º. µµ±¸ ¸ðÀ½¿¡ Á¶Ä¡°¡ ³ªÅ¸³ª°í
¼Ó¼º°ªÀÌ trueÀ̸é Á¶Ä¡ ¿·¿¡ Ç®´Ù¿î ¸Þ´º°¡ ³ªÅ¸³³´Ï´Ù. Á¶Ä¡°¡ ¸Þ´º¿¡ ³ªÅ¸³ª¸é ÀÌ ¼Ó¼ºÀº
¹«½ÃµË´Ï´Ù. ÀÌ ¼Ó¼ºÀº state¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
-
class - org.eclipse.ui.IWorkbenchWindowActionDelegate ¶Ç´Â
org.eclipse.ui.IWorkbenchWindowPulldownDelegate¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ ¿ÏÀüÇÑ À̸§. pulldownÀÌ
trueÀÏ °æ¿ì µÎ ¹øÂ° Ç׸ñÀ» ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù.retarget ¼Ó¼ºÀÌ trueÀÎ °æ¿ì ÀÌ ¼Ó¼ºÀÌ
Á¦°øµÇ¾î¼´Â ¾ÈµË´Ï´Ù.
-
retarget - ÀÌ ¼Ó¼ºÀÌ trueÀÌ¸é »õ·Î ´ë»ó ÁöÁ¤(±Û·Î¹ú) Á¶Ä¡°¡ ÀÛ¼ºµË´Ï´Ù.
ÀÌ Á¶Ä¡ÀÇ ID¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀÇ »çÀÌÆ®¿¡¼ ±Û·Î¹ú Á¶Ä¡ Çڵ鷯¸¦ ¼³Á¤ÇÏ´Â
Ç¥ÁØ ¸ÞÄ¿´ÏÁòÀ» ÅëÇØ ÆÄÆ®´Â ÀÌ ±Û·Î¹ú Á¶Ä¡¿¡ ´ëÇÑ Çڵ鷯¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¼Ó¼ºÀÌ trueÀÎ °æ¿ì Ŭ·¡½º ¼Ó¼ºÀÌ Á¦°øµÇ¾î¼´Â ¾ÈµË´Ï´Ù.
-
allowLabelUpdates - retargetÀÌ trueÀÎ °æ¿ì¿¡¸¸ Àû¿ëµË´Ï´Ù. ÀÌ ¼Ó¼ºÀÌ
trueÀÌ¸é »õ·Î ´ë»ó ÁöÁ¤ Á¶Ä¡´Â Çڵ鷯ÀÇ µµ±¸ ÆÁ ¹× ·¹À̺íÀ» °»½ÅÇÕ´Ï´Ù.
-
enablesFor - Á¶Ä¡¸¦ Ȱ¼ºÈÇϱâ À§ÇØ ÃæÁ·µÇ¾î¾ß ÇÏ´Â ¼±ÅûçÇ× °è¼ö¸¦ Ç¥½ÃÇÏ´Â °ª. ÀÌ ¼Ó¼ºÀÌ
ÁöÁ¤µÈ °æ¿ì Á¶°ÇÀÌ ÃæÁ·µÇ¸é Á¶Ä¡°¡ Ȱ¼ºÈµË´Ï´Ù. Á¶°ÇÀÌ ÃæÁ·µÇÁö ¾ÊÀ¸¸é Á¶Ä¡´Â Ȱ¼ºÈµÇÁö ¾Ê½À´Ï´Ù. ¼Ó¼ºÀÌ
ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì Á¶Ä¡´Â ÀÓÀÇÀÇ °³¼ö·Î ¼±ÅÃµÈ Ç׸ñ¿¡ ´ëÇØ Ȱ¼ºÈµË´Ï´Ù. ´ÙÀ½
¼Ó¼º Çü½ÄÀÌ Áö¿øµË´Ï´Ù.
! - 0°³ Ç׸ñ ¼±ÅÃ
? - 0°³ ¶Ç´Â 1°³ Ç׸ñ ¼±ÅÃ
+ - 1°³ ÀÌ»óÀÇ Ç׸ñ ¼±ÅÃ
multiple, 2+ - 2°³ ÀÌ»óÀÇ Ç׸ñ ¼±ÅÃ
n - ¼±ÅÃÇÑ Ç׸ñÀÇ Á¤È®ÇÑ °³¼ö(¿¹: 4).
* - ¼±ÅÃÇÑ Ç׸ñ °³¼ö
<!ELEMENT selection EMPTY>
<!ATTLIST selection
class CDATA #REQUIRED
name
CDATA #IMPLIED
>
-
class - ¼±ÅûçÇ×ÀÇ °¢ ¿ÀºêÁ§Æ®°¡ Á¶Ä¡¸¦ Ȱ¼ºÈÇϱâ À§ÇØ ¼ºêŬ·¡½º·Î ºÐ·ùÇϰųª ±¸ÇöÇØ¾ß Çϴ Ŭ·¡½º
¶Ç´Â ÀÎÅÍÆäÀ̽ºÀÇ ¿ÏÀüÇÑ À̸§
-
name - ¼±ÅûçÇ×ÀÇ ¿ÀºêÁ§Æ®¿¡ ¼±ÅÃÀûÀ¸·Î Àû¿ëÇÒ ¼ö ÀÖ´Â À̸§ÀÇ ¿ÍÀϵå Ä«µå ÇÊÅÍ. ÀÌ ÇÊÅͰ¡ ÁöÁ¤µÈ °æ¿ì
ÀÏÄ¡ÇÏ´Â Ç׸ñÀ» ãÁö ¸øÇϸé ÇØ´ç Á¶Ä¡´Â ºñȰ¼ºÈµË´Ï´Ù.
<!ELEMENT enablement (and | or | not | objectClass
| objectState | systemProperty | pluginState)*>
<!ATTLIST enablement EMPTY>
Eclipse ¹öÀü 2.0¿¡¼´Â »ç¿ë °¡´É¼º ¿ä¼Ò°¡ Á¶Ä¡ÀÇ »ç¿ë °¡´É¼ºÀ»
Á¤ÀÇÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. »ç¿ë °¡´É¼º ¿ä¼ÒÀÇ ¿ëµµ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â
actionExpressions.htmlÀ» ÂüÁ¶ÇϽʽÿÀ.
¿¹: ´ÙÀ½Àº Á¶Ä¡ ¼¼Æ®ÀÇ ¿¹ÀÔ´Ï´Ù. ºÎ¼Ó¿ä¼Ò¿Í ¼Ó¼ºÀ» »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ÁÖÀÇÇϽʽÿÀ.
<extension point = "org.eclipse.ui.actionSets">
<actionSet id="com.xyz.actionSet"
label="My Actions"
visible="true">
<menu id="com.xyz.xyzMenu"
label="XYZ Menu"
path="additions">
<separator name="group1"/>
</menu>
<action id="com.xyz.runXYZ"
label="&Run XYZ Tool"
menubarPath="com.xyz.xyzMenu/group1"
toolbarPath="Normal/XYZ"
icon="icons/runXYZ.gif"
tooltip="Run XYZ Tool"
helpContextId="com.xyz.run_action_context"
class="com.xyz.actions.RunXYZ"
enablesFor="1">
<selection class="org.eclipse.core.resources.IFile" name="*.java"/>
</action>
<action id="com.xyz.runABC"
label="&Run ABC Tool"
menubarPath="com.xyz.xyzMenu/group1"
toolbarPath="Normal/XYZ"
icon="icons/runABC.gif"
tooltip="Run ABC Tool"
helpContextId="com.xyz.run_abc_action_context"
retarget="true"
allowLabelUpdate="true">
</action>
</actionSet>
</extension>
À§ ¿¹¿¡¼ "My Actions"¶ó°í ÁöÁ¤ÇÑ Á¶Ä¡°¡ óÀ½¿¡ °¢ Perspective ³»¿¡ Ç¥½ÃµË´Ï´Ù. ÀÌ´Â ´ÜÀÏ
¼±ÅûçÇ×(enablesFor ¼Ó¼º)¿¡ ´ëÇØ¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¼±ÅûçÇ×ÀÇ ¿ÀºêÁ§Æ®°¡
ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º(IFile)¸¦ ±¸ÇöÇØ¾ß Çϸç Java ÆÄÀÏÀ̾î¾ß ÇÕ´Ï´Ù.
API Á¤º¸: class ¼Ó¼º °ªÀº org.eclipse.ui.IWorkbenchWindowActionDelegate ¶Ç´Â
org.eclipse.ui.IWorkbenchWindowPulldownDelegate¸¦ ±¸ÇöÇϴ Ŭ·¡½ºÀÇ ¿ÏÀüÇÑ À̸§À̾î¾ß
ÇÕ´Ï´Ù. pulldownÀÌ trueÀÏ °æ¿ì µÎ ¹øÂ° Ç׸ñÀ» ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. Ŭ·¡½º°¡ ½ÇÁ¦·Î ÇÊ¿äÇÑ ½ÃÁ¡¿¡ ¾Õ¼
Àüü Ç÷¯±×ÀÎÀÌ ·ÎµåµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ °¡´ÉÇÑ ³ªÁß¿¡ ÀÌ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
Á¶Ä¡ È®Àå¿¡ ´ëÇÑ È°¼ºÈ ±âÁØÀº óÀ½¿¡´Â enablesFor, selection ¹×
enablement¿¡ ÀÇÇØ Á¤Àǵ˴ϴÙ. ±×·¯³ª Á¶Ä¡ ´ëÇ¥ÀÚ°¡ ÀνºÅϽºÈµÈ ÈÄ
selectionChanged ¸Þ¼Òµå¿¡¼ Á÷Á¢ Á¶Ä¡ »ç¿ë °¡´É »óŸ¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.
Workbench°¡ Ç÷¯±×ÀÎÀ» À§Çؼ ¸Þ´º¸¦ »ý¼ºÇÏÁö´Â ¾Ê´Â´Ù´Â Á¡¿¡ À¯ÀÇÇØ¾ß ÇÕ´Ï´Ù.
¸Þ´º °æ·Î´Â ÀÌ¹Ì Á¸ÀçÇÏ´Â ¸Þ´º¸¦ ÂüÁ¶ÇØ¾ß ÇÕ´Ï´Ù.
Á¶Ä¡¿Í
¸Þ´º ·¹ÀÌºí¿¡´Â ´ÙÀ½ ±ÔÄ¢À» »ç¿ëÇÏ¿© ´Ï¸ð´Ð°ú ´ÜÃà۸¦ ÀÎÄÚµåÇϴ Ư¼ö ¹®ÀÚ°¡ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù.
-
º¯È¯µÈ ÅØ½ºÆ®ÀÇ ¼±Åà ¹®ÀÚ ¾Õ¿¡ ¾ÚÆÛ»÷µå('&') ¹®ÀÚ¸¦ »ç¿ëÇÏ¿© ´Ï¸ð´ÐÀ»
ÁöÁ¤ÇÕ´Ï´Ù. XML ¹®ÀÚ¿¿¡´Â
¾ÚÆÛ»÷µå¸¦ »ç¿ëÇÒ ¼ö ¾øÀ¸¹Ç·Î & ¹®ÀÚ ¿£Æ¼Æ¼¸¦ »ç¿ëÇϽʽÿÀ.
-
¼±ÅÃÀû ´ÜÃàŰ´Â @ µÚ¿¡ ÀÏ·ÃÀÇ ¼öÁ¤ÀÚ ¹× ¸¶Áö¸· ´ÜÃàŰ ¹®ÀÚ¸¦ »ç¿ëÇÏ¿©
À̸§ ¹®ÀÚ¿ÀÇ ³¡¿¡ ÁöÁ¤µË´Ï´Ù(¿¹: &Save@Ctrl+S).
'+' ±âÈ£¸¦ ºÐ¸®¹®ÀÚ·Î »ç¿ëÇÏ¿© ¼öÁ¤ÀÚ¸¦ ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù(¿¹: @Ctrl+Shift+S).
µÑ ÀÌ»óÀÇ Á¶Ä¡°¡ ÇϳªÀÇ ´ÜÀÏ È®Àå¿¡ ÀÇÇØ ¸Þ´º ¶Ç´Â µµ±¸ ¸ðÀ½¿¡ Á¦°øµÈ °æ¿ì
Á¶Ä¡´Â plugin.xml ÆÄÀÏ¿¡ ³ª¿µÇ´Â ¼ø¼¿Í ¹Ý´ë·Î ³ªÅ¸³³´Ï´Ù.
ÀÌ·¯ÇÑ ÀÛµ¿Àº È®½ÇÈ÷ »ó½ÄÀûÀÌÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ÀÌ´Â
Eclipse Ç÷§Æû API°¡ °íÁ¤µÈ ÈÄ ¹ß°ßµÇ¾ú½À´Ï´Ù. Áö±Ý ÀÌ ÀÛµ¿À» º¯°æÇϸé
±âÁ¸ ÀÛµ¿¿¡ Á¾¼ÓµÈ ¸ðµç Ç÷¯±×Àο¡ ¿µÇâÀ» ÁÖ°Ô µË´Ï´Ù.
±âº» Á¦°ø ±¸Çö: Ç÷¯±×Àο¡¼ ÀÌ È®ÀåÁ¡À» »ç¿ëÇÏ¿© »õ·Î¿î »óÀ§ ·¹º§ ¸Þ´º(¿¹: µð¹ö±×)¸¦ Ãß°¡ÇÒ ¼ö
ÀÖ½À´Ï´Ù. Ç÷¯±×Àο¡¼´Â ´Ù¸¥ Ç÷¯±×ÀÎÀÌ ÇØ´ç Á¶Ä¡¸¦ Á¦°øÇÒ ¼ö ÀÖµµ·Ï À̸§ ÁöÁ¤µÈ
±×·ìÀ» Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
path ¼Ó¼º¿¡ ´ëÇÑ ´ÙÀ½ °ªÀ» »ç¿ëÇÏ¿© »óÀ§ ·¹º§ ¸Þ´º¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
-
additions - â ¸Þ´ºÀÇ ¿ÞÂÊ¿¡ ÀÖ´Â ±×·ìÀ» ³ªÅ¸³À´Ï´Ù.
path ¼Ó¼ºÀ» »èÁ¦Çϸé additions ¸Þ´º Ç¥½ÃÁÙ ±×·ì¿¡ »õ ¸Þ´º°¡ Ãß°¡µË´Ï´Ù.
Workbench âÀÇ ±âº» ±×·ìÀº IWorkbenchActionConstants ÀÎÅÍÆäÀ̽º¿¡ Á¤Àǵ˴ϴÙ. µ¿ÀûÀÎ Á¦°øÀÇ
Äڵ忡 ÀÌ »ó¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âÁ¸ Workbench ¸Þ´º ¹× µµ±¸ ¸ðÀ½°ú
¿Ïº®ÇÏ°Ô ÅëÇÕÇϱâ À§ÇØ °ªÀ» XML ÆÄÀÏ¿¡ º¹»çÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Workbench âÀÇ ´Ù¾çÇÑ ¸Þ´º ¹× µµ±¸ ¸ðÀ½ Ç׸ñÀÌ ¾Ë°í¸®ÁòÀûÀ¸·Î Á¤Àǵ˴ϴÙ.
ÀÌ °æ¿ì º°µµÀÇ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© âÀ» È®ÀåÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î »õ Workbench
º¸±â¸¦ Ãß°¡ÇÏ¸é »õ ¸Þ´º Ç׸ñÀÌ Ã¢ ¸Þ´º¿¡ ³ªÅ¸³³´Ï´Ù. °¡Á®¿À±â,
³»º¸³»±â ¹× »õ ¸¶¹ý»ç È®Àåµµ ÀÚµ¿À¸·Î â¿¡ Ãß°¡µË´Ï´Ù.