È®ÀåÀÚ ÆäÀÌÁö´Â Ç÷¯±×ÀÎ È®ÀåÀÚ¸¦ ã¾Æ ÆíÁýÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù. È®ÀåÀÚ´Â Ç÷§Æû¿¡ ÀÛµ¿À» Á¦°øÇÏ´Â Áß¾Ó ¸ÞÄ¿´ÏÁòÀÔ´Ï´Ù. Ç÷¯±×ÀÎÀÌ ´Ù¸¥ Ç÷¯±×Àο¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ±âº» Java API ¶óÀ̺귯¸®ÀÎ °æ¿ì¸¦ Á¦¿ÜÇÏ¸é »õ ÀÛµ¿ÀÌ È®ÀåÀÚ·Î Á¦°øµË´Ï´Ù.
Ç÷¯±×ÀÎÀº ÇØ´ç Çʼö Ç÷¯±×ÀÎÀÌ Á¤ÀÇÇÑ È®ÀåÁ¡À» Á¦°øÇÕ´Ï´Ù. È®ÀåÀÚ ±¸¹®ÀÌ È®ÀåÁ¡ Á¤ÀÇ¿Í ÀÏÄ¡ÇØ¾ß¸¸ ¿Ã¹Ù·Î ó¸®µÉ ¼ö ÀÖ½À´Ï´Ù. ÀûÇÕÇÑ È®ÀåÁ¡ÀÇ Àüü ¸ñ·ÏÀº º¼ ¼ö ÀÖ´Â ¸ðµç Ç÷¯±×ÀÎ(ÀÛ¾÷°ø°£ Ç÷¯±×Àΰú ¿ÜºÎ Ç÷¯±×ÀÎ ¸ðµÎ)À» ¼øÈ¸ÇÏ¿© PDE¿¡ ÀÇÇØ °è»êµË´Ï´Ù.
PDE°¡ Á¦°øÇÏ´Â ÀÏ¹Ý È®ÀåÀÚ ¸¶¹ý»ç´Â ´ÜÁö È®ÀåÁ¡À» ½ºÄµÇÕ´Ï´Ù. È®Àå ½ºÅ°¸¶°¡ Á¦°øµÇ¸é(È®ÀåÁ¡ ½ºÅ°¸¶ ÂüÁ¶), ¸¶¹ý»ç°¡ ½ºÅ°¸¶¿¡¼ ¹®¹ý°ú È®ÀåÁ¡ ¸ÞŸµ¥ÀÌÅ͸¦ ÃßÃâÇÕ´Ï´Ù.
È®ÀåÀÚ ÆäÀÌÁö Á¶ÀÛÀ» ¼³¸íÇϱâ À§ÇØ Ç÷¯±×Àο¡ 'Hello, PDE world' Á¶Ä¡¸¦ Ãß°¡ÇÕ´Ï´Ù. org.eclipse.ui.actionSets È®ÀåÁ¡À» Á¦°øÇÏ°Ô µË´Ï´Ù. ÀÌ ¿¹¿¡¼´Â »ç¿ëÀÚ°¡ È®ÀåÁ¡¿¡ ´ëÇØ ÀÌ¹Ì ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.
È®Àå ¸¶¹ý»ç¸¦ ¼±ÅÃÇÏ·Á¸é ½Å±Ô ´ÜÃ߸¦ ´©¸£½Ê½Ã¿À.
½ºÅ°¸¶ ±â¹Ý È®Àå ¸¶¹ý»ç´Â °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î È®ÀåÀÚ¸¦ ó¸®ÇÏ´Â ±âº»°ªÀÔ´Ï´Ù. ÀÌ ¸¶¹ý»ç´Â Ç÷¯±×ÀÎÀ» ½ºÄµÇÏ°í ¹ß°ßµÈ ¸ðµç È®ÀåÁ¡(½ºÅ°¸¶°¡ ÀÖ´ÂÁö ¿©ºÎ¿¡ °ü°è ¾øÀÌ)À» Á¦°øÇÕ´Ï´Ù. È®ÀåÁ¡¿¡ ½ºÅ°¸¶°¡ ÀÖ´Â °æ¿ì PDE´Â º¸´Ù Ź¿ùÇÑ Áö¿øÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. È®ÀåÁ¡ ½ºÅ°¸¶°¡ ¾øÀ¸¸é PDE´Â »ç¿ëÀÚ°¡ ¿ä¼Ò¿Í ¼Ó¼ºÀ» È®ÀåÀÚ¿¡ Ãß°¡Çϵµ·Ï ÇÏÁö¸¸ ÇØ´ç ¿ä¼Ò¿Í ¼Ó¼ºÀÌ ¼±ÅÃÇÑ È®ÀåÁ¡¿¡ ´ëÇØ ¿Ã¹Ù¸¥Áö ¿©ºÎ´Â È®ÀÎÇÒ ¼ö ¾ø½À´Ï´Ù.
´ÙÀ½À» ´©¸£¸é È®ÀåÁ¡ ¸ñ·ÏÀÌ Á¦°øµË´Ï´Ù. Á¶Ä¡ ¼¼Æ®¸¦ ¼±ÅÃÇÏ°í ¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
¸¶¹ý»ç°¡ È®ÀåÀÚ ¸ñ·Ï¿¡ »õ È®ÀåÀÚ¸¦ Ãß°¡ÇÕ´Ï´Ù. ÀÌ È®ÀåÀÚ¿¡´Â ÀÌ È®ÀåÀÚ¿Í ¿¬°üµÈ ½ºÅ°¸¶°¡ Àֱ⠶§¹®¿¡ È®ÀåÀÚ Á¤ÀǸ¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ·Î Ãß°¡ÇÑ È®ÀåÀ» ¼±ÅÃÇÏ°í ÆË¾÷ ¸Þ´º¿¡¼ ½Å±Ô->actionSet¸¦ ¼±ÅÃÇϽʽÿÀ. ÀÌ XML ¿ä¼Ò°¡ È®Àå Á¤ÀÇ¿¡ Ç¥½ÃµÉ ¼ö ÀÖ´Â À¯ÀÏÇÑ ¿Ã¹Ù¸¥ ¿ä¼Ò·Î Á¤ÀǵǾú½À´Ï´Ù.
¸ðµç Çʼö ¼Ó¼º¿¡ ´ëÇØ PDE´Â ±âº»°ªÀ» ÀÛ¼ºÇÕ´Ï´Ù. ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í Æ¯¼º º¸±â¿¡¼ ·¹ÀÌºí Æ¯¼ºÀ» º¯°æÇÏ¿© Á¶Ä¡ ¼¼Æ®ÀÇ ±âº» À̸§À» "»ùÇà Á¶Ä¡ ¼¼Æ®"·Î º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. »õ À̸§ÀÌ È®ÀåÀÚ ¸ñ·Ï¿¡ Ç¥½ÃµË´Ï´Ù.
ÀÌÁ¦ Á¶Ä¡ ¼¼Æ®¿¡ ´ëÇÑ Á¶Ä¡¿Í ¸Þ´º¸¦ Á¤ÀÇÇØ¾ß ÇÕ´Ï´Ù. Á¶Ä¡ ¼¼Æ®¸¦ ¼±ÅÃÇϰí "È®Àå ¿ä¼Ò ÇÏÀ§" ¼½¼Ç¿¡¼ ¸Þ´º¸¦ ÆË¾÷Çϸé "»õ" ¸Þ´º°¡ ¸Þ´º¿Í Á¶Ä¡ÀÇ µÎ °¡Áö ¼±ÅûçÇ×À» Á¦°øÇÕ´Ï´Ù. ÀÌ ¼±ÅûçÇ×Àº Á¶Ä¡ ¼¼Æ® È®ÀåÀÚ¿¡ ´ëÇÑ ½ºÅ°¸¶ Á¤º¸¸¦ ±â¹ÝÀ¸·Î ÇÕ´Ï´Ù. ¸ÕÀú ¸Þ´º¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
¸Þ´º¸¦ ÀÛ¼ºÇÏ·Á¸é ½Å±Ô->¸Þ´º¸¦ ¼±ÅÃÇϽʽÿÀ.
¸Þ´º¸¦ ¼±ÅÃÇÏ°í Æ¯¼ºÀ» º¯°æÇϽʽÿÀ. ID¸¦ "sampleMenu"·Î, ·¹À̺íÀ» "»ùÇà ¸Þ´º"·Î º¯°æÇϽʽÿÀ
¸Þ´º ¿ÀºêÁ§Æ®¸¦ ¼±ÅÃÇÑ »óÅ¿¡¼ ¸Þ´º¸¦ ÆË¾÷ÇÏ°í ½Å±Ô->ºÐ¸®ÀÚ¸¦ ¼±ÅÃÇϽʽÿÀ. »õ ÇÏÀ§°¡ Ç¥½ÃµË´Ï´Ù.
"ºÐ¸®ÀÚ"¸¦ ¼±ÅÃÇϰí À̸§À» "sampleGroup"À¸·Î º¯°æÇϽʽÿÀ. Á¶Ä¡¸¦ Á¦°øÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â À̸§ ÁöÁ¤µÈ ±×·ìÀÌ ¸Þ´º¿¡ ÀÛ¼ºµË´Ï´Ù.
ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î Á¶Ä¡¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
Á¶Ä¡¸¦ ÀÛ¼ºÇÏ·Á¸é ½Å±Ô->Á¶Ä¡¸¦ ¼±ÅÃÇϽʽÿÀ.
Á¶Ä¡¸¦ ¼±ÅÃÇÏ°í Æ¯¼ºÀ» º¯°æÇϽʽÿÀ. ·¹À̺íÀ» "&Sample Action"À¸·Î, menubarPath¸¦ "sampleMenu/sampleGroup"À¸·Î º¯°æÇϽʽÿÀ. ¹æ±Ý Á¤ÀÇÇÑ ¸Þ´º¿¡ Á¶Ä¡°¡ Ãß°¡µË´Ï´Ù.
¸¶Áö¸·À¸·Î ¼³Á¤ÇØ¾ß ÇÒ »çÇ×Àº Á¶Ä¡ÀÇ Java Ŭ·¡½ºÀÔ´Ï´Ù. È®ÀåÁ¡ Á¤ÀÇ´Â Á¶Ä¡°¡ IWorkbenchWindowActionDelegate¸¦ ±¸ÇöÇØ¾ß ÇÏ´ÂÁö¸¦ ÁöÁ¤ÇÕ´Ï´Ù. PDE´Â ½ºÅ°¸¶¿¡¼ ÀÌ Á¤º¸¸¦ ¾Ë°í Àֱ⠶§¹®¿¡ Áö¿øÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù.
Ŭ·¡½º Ư¼ºÀ» ´·¯ ÆíÁý ¸ðµå°¡ µÇµµ·Ï ÇϽʽÿÀ. ´ÜÃ߸¦ ´·¯ ¼¿ ÆíÁý±â ´ëÈ »óÀÚ¸¦ ¿©½Ê½Ã¿À.
´ÜÀÏ ¼±Åà ´ÜÃ߸¦ ¼±ÅÃÇÏ¿© »õ Ŭ·¡½º¸¦ ÀÛ¼ºÇϽʽÿÀ.
ã¾Æº¸±â ´ÜÃ߸¦ Ŭ¸¯ÇÏ¿© ¼Ò½º ÄÁÅ×À̳ʸ¦ ¼±ÅÃÇϰí "XYZ Ç÷¯±×ÀÎ"À» ¼±ÅÃÇϽʽÿÀ.
Ŭ·¡½º À̸§À» "SampleAction"À¸·Î º¯°æÇϽʽÿÀ.
´ëÈ »óÀÚ°¡ ´ÙÀ½°ú °°ÀÌ Ç¥½ÃµÇ¸é ¿Ï·á¸¦ ´©¸£½Ê½Ã¿À.
¿Ï·áÇϸé Çʼö ÀÎÅÍÆäÀ̽º(°¢ Ãß»ó ¸Þ¼Òµå¿¡ ´ëÇØ ½ºÅÓ ±¸ÇöÀÌ ÀÖ´Â)¸¦ ±â¹ÝÀ¸·Î »õ Ŭ·¡½º°¡ »ý¼ºµË´Ï´Ù. ¶ÇÇÑ »õ Ŭ·¡½ºÀÇ À̸§ÀÌ Å¬·¡½º Ư¼º °ª¿¡ ´ëÇØ ¼³Á¤µË´Ï´Ù. ¸¶¹ý»ç°¡ ±âº»ÀûÀ¸·Î ÆíÁýÇÒ ¼ö ÀÖµµ·Ï »õ Java Ŭ·¡½ºµµ ¿±´Ï´Ù. "run" ¸Þ¼Òµå¸¦ ã¾Æ ´ÙÀ½ ¸í·É¹®À» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
System.out.println("Hello, PDE world!");
»õ ¼Ò½º Äڵ带 ÀúÀåÇϰí Java ÆíÁý±â¸¦ ´ÝÀ¸½Ê½Ã¿À. ±×·± ´ÙÀ½ Manifest ÆíÁý±âÀÇ È®ÀåÀÚ ÆäÀÌÁö·Î µ¹¾Æ°¡ ÀúÀåÇϽʽÿÀ.
Ç÷¯±×ÀÎ ½ÇÇàÀ» ¼öÇàÇÒ ¶§ ÀÌ ¿¹¸¦ °è¼Ó »ç¿ëÇÕ´Ï´Ù.