¶óÀ̺ê ÅÛÇø´¿¡ ´ëÇÏ¿©

 

 

Live templatesÀº »çÀü Á¤ÀÇÀÇ ÄÚµå ÇÁ·¡±×¸ÕÆ®¸¦ Æ÷ÇÔÇÕ´Ï´Ù.  ´ç½ÅÀº ÀÚÁÖ ´Ù½Ã ÀϾ°Å³ª ÁÖ¹® ÄÚµå ±¸¹®À» ¼Ò½º ÄÚµå ÆÄÀÏ·Î ºü¸£°Ô, È¿À²ÀûÀ¸·Î, ±×¸®°í Á¤È®ÇÏ°Ô »ðÀÔÇϱâ À§ÇØ ±×°ÍµéÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.


°¢ ÅÛÇø´Àº ´ç½ÅÀÌ ÅÛÇø´À» "expand" Çϱâ À§ÇØ ¿¡µðÅ͸¦ ŸÀÌÇÁÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ abbreviation ¹®ÀÚ¿­¿¡ ÀÇÇØ È®Àε˴ϴÙ.  ¹Ù²Ù¾î ¸»Çϸé, ´ç½ÅÀº ª°Ô ŸÀÌÇÁµÈ ´ÜÃàÀ» °ü·Ã ÅÛÇø´ÀÇ Ç® ÄÚµåÀÇ »ðÀÔÀ» È£ÃâÇϱâ À§ÇØ »ç¿ëÇÕ´Ï´Ù.  ±×°ÍÀº ´ÜÁö ªÀº Ç¥Çö½Ä, ·çÇÁ¿Í °°Àº ¿ÏÀüÇÑ ±¸¼º¼Ò ¶Ç´Â ½ÉÁö¾î Àüü Ŭ·¡½º ¶Ç´Â ¸Þ¼Òµå ÀÏ ¼öµµ ÀÖ½À´Ï´Ù.  ¶óÀ̺ê ÅÛÇø´ÀÇ 4°³ÀÇ ÁÖ¿äÇÑ Ä«Å×°í¸®°¡ ÀÖ½À´Ï´Ù:

 simple templates

 parameterized templates
 
 surround templates
 
 

Simple templates  

General: 

 
ÀÌ ÅÛÇø´Àº ´ç½ÅÀÌ ±×µé ÁßÀÇ Çϳª¸¦ È£ÃâÇÒ ¶§ ´ç½ÅÀÇ ¼Ò½º·Î »ðÀÔµÈ °íÁ¤ Äڵ带 Æ÷ÇÔÇÕ´Ï´Ù.  ¹Ù²Ù¾î ¸»Çϸé, ´ç½ÅÀÌ ÁÖ¾îÁø ÅÛÇø´¿¡ ºÎÇÕÇϰí ÀÖ´Â ´ÜÃàÀ» ŸÀÌÇÁÇϰí, Àκ¸ÄÉÀÌ¼Ç Å°¸¦ ´©¸¦ ¶§, ÅÛÇø´¿¡¼­ ÁöÁ¤µÈ ÄÚµå´Â ´ç½ÅÀÌ ÀÔ·ÂÇß´ø ´ÜÃàÀ» ±³Ã¼Çϸ鼭 ´ç½ÅÀÇ ¼Ò½º·Î ÀÚµ¿ÀûÀ¸·Î »ðÀԵ˴ϴÙ.

 
µðÆúÆ®·Î, TabŰ´Â ´Ü¼ø ÅÛÇø´À» È£ÃâÇÕ´Ï´Ù.  (»ó¼¼ÇÑ °ÍÀº, ÅäÇÈ ¶óÀ̺ê ÅÛÇø´ Á¤ÀÇÀ» ÂüÁ¶ÇϽʽÿÀ)

Example:  
 
´ç½ÅÀÌ ¿¡µðÅÍ¿¡¼­ ´ÙÀ½À» ŸÀÌÇÁÇÑ´Ù¶ó°í »ó»óÇϽʽÿÀ:

       
±× ´ÙÀ½ ´ç½ÅÀº ÅÛÇø´ Àκ¸ÄÉÀÌ¼Ç Å° TabÀ» ´©¸¨´Ï´Ù.  ´ÙÀ½ ÄÚµå ÇÁ·¡±×¸ÕÆ®´Â ´ÜÃà " psvm" ´ë½Å¿¡ È®ÀåµË´Ï´Ù.


´ç½ÅÀÇ ÄÚµå ½ºÅ¸ÀÏ ¼³Á¤°ú ÁÖÀ§ÀÇ ¹®¸Æ¿¡ µû¸£¸é ÅÛÇø´Àº Á¤È®ÇÑ µé¿© ¾²±â¸¦ ÀÚµ¿ÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù(½ºÅ¸ÀÏ ¼³Á¤À» À§ÇØ, ÅäÇÈ µé¿©¾²±â¿Í Áß°ýÈ£ ¸¦ ÂüÁ¶ÇϽʽÿÀ).



       


´Ù¸¥ ÅÛÇø´ ¿¹¸¦ À§ÇØ, ÅäÇÈ »çÀü Á¤ÀÇÀÇ IDEA¶óÀ̺ê ÅÛÇø´ À» ÂüÁ¶ÇϽʽÿÀ.

Parameterized templates 

General: 


ºñ·Ï Simple templatesÀÌ »ç¿ëÇÏ´Â ¹æ¹ý¿¡¼­´Â À¯»çÇÏÁö¸¸, ÅÛÇø´ÀÌ È£ÃâµÉ ¶§ ±×°ÍµéÀÇ ÅØ½ºÆ®´Â ´ç½ÅÀÌ ÁöÁ¤ÇÏ´Â °ªÀ» Ç¥½ÃÇϰí Àִ Ưº°ÇÑ variables¸¦ Æ÷ÇÔÇÒ ¼ö Àֱ⠶§¹®¿¡ Parameterized templatesÀÌ ´õ¿í °­·ÂÇÕ´Ï´Ù. ¿¡µðÅÍ¿¡¼­ È£ÃâµÇ°í, È®ÀåÇÒ ¶§, ÅÛÇø´Àº º¯¼öÀÇ ÀÔ·Â À§Ä¡¿¡ »çÀü Á¤ÀÇÀÇ ÀϺΠ°ªÀ» Á¦¾ÈÇÒ ¼ö ÀÖ½À´Ï´Ù.  ¿¹¸¦ µé¸é, ¸¸ÀÏ Parameterized templateÀÌ ¹Ýº¹À» À§ÇØ Äڵ带 Æ÷ÇÔÇϸé, ÅÛÇø´ÀÌ È®ÀåÇÒ ¶§ IDEA´Â ´ÙÀ½À» Á¦¾ÈÇÒ °ÍÀÔ´Ï´Ù :

 À妽º º¯¼ö¸¦ À§ÇÑ À̸§ ( i  , j  µî)
 
µÇÇ®ÀÌµÈ ÄÁÅ×À̳ʸ¦ À§ÇÑ Ç¥Çö½ÄÀ¸·Î¼­ÀÇ ÇöÀçÀÇ ¹üÀ§(¿¹¸¦ µé¸é ¹è¿­, º¤ÅÍ)ÀÇ Á¤ÀÇµÈ Å¸ÀÔÀÇ ¸ðµç º¯¼öÀÇ ¸ñ·Ï
 
ÇöÀçÀÇ ÄÁÅ×ÀÌ³Ê ¿ä¼Ò¸¦ Àâ´Â ÇÒ´çµÈ º¯¼öÀÇ À̸§
 
¶§¶§·Î ½ÉÁö¾î´Â µÇÇ®ÀÌµÈ ÄÁÅ×À̳ʿ¡¼­ ¿ä¼ÒÀÇ Å¸ÀÔ


ÅÛÇø´ÀÌ È®ÀåµÉ(Áï, ±× ÄÚµå´Â ÆÄÀÏ¿¡ »ðÀԵ˴ϴÙ) ¶§, ¿¡µðÅÍ´Â ÀϽÃÀûÀ¸·Î ¸ðµå¸¦ ÆíÁýÇϰí ÀÖ´Â ÅÛÇø´À¸·Î ÀüȯÇÕ´Ï´Ù.  ÅÛÇø´ "º¯¼ö"´Â ´ç½ÅÀÇ ÀÔ·ÂÀ¸·Î ±³Ã¼µÉ ¼ö Àְųª, ÀÔ·Â ¶Ç´Â ÁÖÀ§ÀÇ ¹®¸Æ¿¡ ±âÃÊÇÏ´Â IDEA¿¡ ÀÇÇØ °è»êµÉ ¼ö ÀÖ½À´Ï´Ù.  template editing ¸ðµå¿¡¼­, °¢ ÅÛÇø´ "º¯¼ö"´Â ¿¡µðÅÍ¿¡¼­ input position ¿¡ ºÎÇÕÇÕ´Ï´Ù.  ´ç½ÅÀº Tab ¶Ç´Â Enter Å°¸¦ »ç¿ëÇÏ´Â È®ÀåµÈ ÅÛÇø´¿¡¼­ °¢ ÀÔ·Â À§Ä¡·Î ¿Å±æ ¼ö ÀÖ½À´Ï´Ù.  Shift + TabÀ» ´©¸£¸é ´ç½ÅÀ» ÀÌÀüÀÇ ÀÔ·Â À§Ä¡ ÂÊÀ¸·Î ¿Å±é´Ï´Ù.  Escape Ű´Â template editing ¸ðµåÀÇ ½ºÀ§Ä¡¸¦ ²ô°í, ij·µÀ» Á¾·á À§Ä¡ ÂÊÀ¸·Î ¿Å±é´Ï´Ù.


¼³¸íµÉ ¶§ ±×°ÍÀº º¹ÀâÇÏ°Ô µé¸®Áö¸¸, ±×·¯³ª ±×°ÍÀº ½ÇÁ¦·Î ¾ÆÁÖ ½±½À´Ï´Ù.

Example:  


´ç½ÅÀº ´ç½ÅÀÇ ¼Ò½º¿¡¼­ ´ÙÀ½ÀÇ ÄÚµå ÇÁ·¡±×¸ÕÆ®¸¦ °¡Áø´Ù ¶ó°í »ó»óÇϽʽÿÀ:

Fig.1  
       
À§ÀÇ Fig.1¿¡¼­, itar ´Â ¹è¿­ À§¿¡ µÇÇ®ÀÌÇϱâ À§ÇØ Äڵ带 Æ÷ÇÔÇÏ´Â ÅÛÇø´À» À§ÇÑ ´ÜÃàÀÔ´Ï´Ù. ´ç½ÅÀÌ Tab (ÅÛÇø´ Àκ¸ÄÉÀÌ¼Ç Å°)À» ´©¸¦ ¶§, ÅÛÇø´Àº Fig.2¿¡¼­¿Í °°ÀÌ ÀÌ¹Ì »ðÀÔµÈ ÅÛÇø´ÀÇ "º¯¼ö"¸¦ À§ÇÑ Á¦¾ÈµÈ °ª°ú ´õºÒ¾î ¡°itar¡± ´ÜÃàÀ» È®ÀåÇÕ´Ï´Ù.


Fig.2  
       

 

±â¾ïÇϽʽÿÀ, ¿¡µðÅͰ¡ Áö±Ý Ưº°ÇÑ template editing mode ¾È¿¡ ÀÖ½À´Ï´Ù.  Å¥´Â À妽º º¯¼ö ÁÖº¯ÀÇ red border ÀÔ´Ï´Ù. ±×°ÍÀº ÀÌ ÅÛÇø´ÀÇ Ã¹ ¹øÂ° ÀÔ·Â À§Ä¡ÀÔ´Ï´Ù.  IDEA´Â À妽º º¯¼ö¸¦ À§ÇÑ °ªÀ¸·Î¼­ i ¸¦ ÀÚµ¿ÀûÀ¸·Î Á¦¾ÈÇß½À´Ï´Ù.  
¸¸ÀÏ ´ç½ÅÀÌ Á¦¾ÈµÈ °ªÀ» º¯°æÇÏ°í ½Í¾îÇϸé, ¹Ù·Î »õ·Î¿î À̸§À» ŸÀÌÇÁÇϽʽÿÀ.  ´ç½ÅÀÌ »õ·Î¿î À̸§À» ŸÀÌÇÁÇÏ´Â °Í¿¡ µû¶ó È®Àå µÇ´Â ÅÛÇø´ ³»ÀÇ º¯¼ö¿¡¼­ ¸ðµç ÂüÁ¶´Â ÀÚµ¿ÀûÀ¸·Î º¯°æµÉ °ÍÀÔ´Ï´Ù.  ¾Æ·¡ Fig.3¿¡¼­, i´Â idx·Î º¯ÇÏ°Ô µÇ¾ú½À´Ï´Ù.  

Fig.3  
       
´ç½ÅÀÌ ÇöÀç ÀÔ·Â À§Ä¡¿¡¼­ Á¦¾ÈÀ» º¯°æÀ» Çϰųª ÇÏÁö ¾Ê°Å³ª »ó°ü¾øÀÌ, ´ç½ÅÀÌ ÅÛÇø´¿¡ ÀÇÇØ Á¤ÀÇµÈ ´ÙÀ½ ÀÔ·Â À§Ä¡·Î À̵¿Çϱâ À§ÇØ Tab ¶Ç´Â Enter¸¦ ´©¸¨´Ï´Ù.


Fig.4  
       
´ç½ÅÀÌ À§ÀÇ Fig.4¿¡¼­ º¼ ¼ö ÀÖ´Â °Íó·³, IDEA´Â ÀÚµ¿ÀûÀ¸·Î ¹üÀ§ÀÇ ¸ðµç ¹è¿­ ¿ä¼Ò¸¦ ¹ß°ßÇϰí, Á¤È®ÇÑ Çϳª¸¦ ¼±ÅÃÇÒ °ÍÀ» Á¦¾ÈÇß½À´Ï´Ù.  ¸¸ÀÏ ´ÜÁö ÇÑ ¹è¿­ ¿ä¼Ò°¡ ¹üÀ§¿¡ ÀÖ¾ú´õ¶ó¸é, IDEA´Â ¸ñ·ÏÀ» ÆË¾÷ÇÏÁö ¾Ê°í ±× À̸§À» ÀÚµ¿ÀûÀ¸·Î »ðÀÔÇÒ °Í ÀÔ´Ï´Ù.

 ¸ñ·ÏÀ» ÅëÇØ Á¶Á¤Çϱâ À§ÇØ Up °ú Down È­»ìÇ¥ ۸¦ »ç¿ëÇϽʽÿÀ.

 
¸ñ·ÏÀ» ´Ý±â À§ÇØ Escape ¸¦ »ç¿ëÇÏ°í ¿¹¸¦ µé¸é, ÀÌ À§Ä¡¿¡¼­ ´ç½Å ÀÚ½ÅÀÇ getArray() ÀÔ·ÂÇϽʽÿÀ

 ¼±ÅõÈ/Á¤ÀÇµÈ º¯È­¸¦ Àû¿ëÇÏ°í ´ÙÀ½ ÀÔ·Â À§Ä¡·Î ¿òÁ÷À̱â À§ÇØ Tab ¶Ç´Â Enter¸¦ ´©¸£½Ê½Ã¿À.

 


¸¸ÀÏ Á¦¾ÈÀÇ ¸ñ·ÏÀÌ ³Ê¹« ±æ¸é, ¸Å´º¾ó ¸ðµå¸¦ »ç¿ëÇϽʽÿÀ.  ¾Æ·¡ "Á¦¾È ¸ñ·ÏÀÌ ÀÖ´Â ÀÛ¾÷ À» º¸½Ê½Ã¿À.



Fig.5  

       
¸¸ÀÏ ¹è¿­ ¿ä¼ÒÀÇ Å¸ÀÔÀÌ º¯°æÇϸé, IDEA´Â °¨ÁöÇÕ´Ï´Ù.  ±×°ÍÀº ÀÚµ¿ÀûÀ¸·Î ÇöÀçÀÇ ¹è¿­ ¿ä¼Ò¸¦ Àâ°í ÀÖ´Â º¯¼öÀÇ Å¸ÀÔÀ» º¯°æÇϰí, ±×°ÍÀÇ ÇÕ¸®ÀûÀÎ À̸§ÀÇ ¸ñ·ÏÀ» Á¦¾ÈÇÕ´Ï´Ù.  À§ÀÇ Fig.4¿Í °°ÀÌ ±â¼úµÈ °Í¿¡ µû¶ó ¸ñ·ÏÀ» ³×ºñ°ÔÀÌÆ®Çϰí/¶Ç´Â ´ÝÀ¸½Ê½Ã¿À.

¼±ÅõÈ/Á¤ÀÇµÈ º¯È­¸¦ Àû¿ëÇϵµ·Ï Tab ¶Ç´Â Enter¸¦ ´©¸£½Ê½Ã¿À.  À̰ÍÀº ´ç½ÅÀ» ¿ì¸®ÀÇ °æ¿ì°¡ ÅÛÇø´ÀÇ Á¾·á À§Ä¡ÀÎ ´ÙÀ½ ÀÔ·Â À§Ä¡ÀÇ ÂÊÀ¸·Î À̵¿ÇÒ °ÍÀÔ´Ï´Ù:

Fig.6  

       

Surround with Live Templates 

Live Templates ÀÇ ÀÌ ±×·ìÀº ¿À·ÎÁö ¼±ÅÃµÈ ÅØ½ºÆ®ÀÇ ºí·Ï°ú ÇÔ²² ÀÛµ¿ÇÕ´Ï´ÙÅÛÇø´Àº ¼±ÅÃµÈ ºí·ÏÀÇ ÀüÈÄ¿¡ Äڵ带 ³õ½À´Ï´Ù.


¿¹¸¦ µé¸é, XML ÆÄÀÏÀÇ ÄÚµå ÇÁ·¡±×¸ÕÆ®¸¦ ¼±ÅÃÇϽʽÿÀ:

Fig.7  

       

Ctrl + Alt + J ¸¦ ´©¸£½Ê½Ã¿À

Fig.8  

       

´ç½ÅÀÌ ÄÚµå À¯ÇüÀ» ¼±ÅÃµÈ ÄÚµå ºí·ÏÀ» µÑ·¯½Îµµ·Ï ¼±ÅÃÇÏ°í ³­ ÈÄ¿¡, Enter¸¦ ´©¸£½Ê½Ã¿À.

Fig.9  
       

ű׸¦ ¿­°í, ´Ý´Â °ÍÀº ³ªÅ¸³³´Ï´Ù. ±×¸®°í ij·µÀº ¿­¸° °Í ³»¿¡¼­ À§Ä¡ÇÕ´Ï´Ù.  ¹Ù¶ó°Ô µÇ´Â ÅÂ±× À̸§À» ÀÔ·ÂÇϽʽÿÀ.

Fig.10  

       


 

´Ù¸¥ ÅÛÇø´ ¿¹¸¦ À§ÇØ, ¼½¼Ç »çÀü Á¤ÀÇÀÇ IDEA ¶óÀ̺ê ÅÛÇø´ À» ÂüÁ¶ÇϽʽÿÀ.

 

Working with suggestion lists  


ÀÔ·Â À§Ä¡°¡ °­Á¶µÇ°í Á¦¾ÈÀÇ ¸ñ·ÏÀÌ ¿­¸± ¶§  ¹Ù¶ó´Â ¿ä¼Ò À̸§À» ¼öµ¿À¸·Î ÀÔ·ÂÇÏ´Â °ÍÀº °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì, ´ÜÁö Á¤ÇÕ ¿ä¼Ò À̸§ÀÌ ³²¾Æ ÀÖÀ» °ÍÀ» À§ÇØ Á¦¾È ¸ñ·ÏÀº °¢ ³ÖÀ» ¼ö ÀÖ´Â ¹®ÀÚ¿Í ÇÔ²² Ãà¼ÒµÉ °ÍÀÔ´Ï´Ù:

       

¸¸ÀÏ ´ç½ÅÀÌ ¹üÀ§¿¡¼­ »ç¿ëµÇÁö ¾Ê´Â À̸§À» ÀÔ·ÂÇϸé, IDEAÀº ¾Æ·¡ ±×¸²¿¡¼­ º¸ÀÌ´Â °Íó·³ ´ç½Å¿¡°Ô ÆË¾÷À¸·Î ¾Ë·ÁÁÙ °Í ÀÔ´Ï´Ù:

       



For further details, please refer to the sections: 
±× ÀÌ»óÀÇ ¼¼ºÎ»çÇ×À» À§ÇØ, ¼½¼ÇÀ» ÂüÁ¶ÇϽʽÿÀ:

 »çÀüÁ¤ÀÇµÈ IDEA ¶óÀ̺ê ÅÛÇø´
 ¶óÀ̺ê ÅÛÇø´ Á¤ÀÇ