Ç÷§ÆûÀº ÀÏ¹Ý ÅØ½ºÆ® ¹× XML°ú °°Àº ÀϺΠ±âº» ÄÁÅÙÃ÷ À¯ÇüÀ» Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÄÁÅÙÃ÷ À¯ÇüÀº ±âŸ Ç÷¯±×Àο¡¼ Á¦°øÇÏ´Â À¯Çü°ú µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î Á¤Àǵ˴ϴÙ. ÄÁÅÙÃ÷ À¯Çü ÇÁ·¹ÀÓ¿öÅ©¸¦ ´õ Àß ÀÌÇØÇϱâ À§ÇØ Ç÷§ÆûÀÌ ÀϺΠÄÁÅÙÃ÷ À¯ÇüÀ» Á¤ÀÇÇÏ´Â ¹æ¹ýÀ» »ìÆì º¸±â·Î ÇÕ´Ï´Ù.
Ç÷¯±×ÀÎÀº
org.eclipse.core.runtime.contentTypes È®ÀåÁ¡¿¡ ´ëÇÑ È®ÀåÀ» Á¦°øÇÏ¿© ÄÁÅÙÃ÷ À¯ÇüÀ» Á¤ÀÇÇÕ´Ï´Ù.
ÀÌ È®Àå¿¡¼ Ç÷¯±×ÀÎÀº ÄÁÅÙÃ÷ À¯ÇüÀÇ ´Ü¼ø ID¿Í À̸§À» ÁöÁ¤ÇÕ´Ï´Ù(Àüü ID´Â Ç×»ó
´Ü¼ø ID ¾Õ¿¡ ÇöÀç À̸§ °ø°£ Á¢µÎºÎ°¡ Ãß°¡µÊ).
´ÙÀ½ ½º´ÏÆêÀº org.eclipse.core.runtime.text
ÄÁÅÙÃ÷ À¯Çü Áö½Ã¹®ÀÇ Àý´ÜµÈ ¹öÀüÀ» Ç¥½ÃÇÕ´Ï´Ù.
<extension point="org.eclipse.core.runtime.contentTypes"> <content-type id="text" name="%textContentTypeName"> file-extensions="txt"> <describer class="org.eclipse.core.internal.content.TextContentDescriber"/> </content-type> ...
file-extensions
¼Ó¼ºÀº ÄÁÅÙÃ÷ À¯Çü°ú ¿¬°üµÈ ÆÄÀÏ È®ÀåÀÚ(ÀÌ ¿¹Á¦¿¡¼´Â
".txt")¸¦ Á¤ÀÇÇÕ´Ï´Ù. file-names
¼Ó¼º(ÀÌ °æ¿ì¿¡´Â »ç¿ëµÇÁö ¾ÊÀ½)Àº Àüü À̸§ ¿¬°üÀ» Çã¿ëÇÕ´Ï´Ù. Ç÷§ÆûÀº ÄÁÅÙÃ÷ À¯Çü ¹ß°ß ¹× ¼³¸í(Ŭ¶óÀÌ¾ðÆ®°¡ ÆÄÀÏ À̸§À» Á¦°øÇÏ´Â °æ¿ì)À»
¼öÇàÇÒ ¶§ µÎ ¼Ó¼ºÀ» ¸ðµÎ °í·ÁÇÕ´Ï´Ù.
describer
¿ä¼Ò´Â ÄÁÅÙÃ÷ À¯ÇüÀÇ ÄÁÅÙÃ÷ ¼³¸íÀÚ¸¦ Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
ÄÁÅÙÃ÷ À¯ÇüÀº ÀÚµ¿ ÄÁÅÙÃ÷ À¯Çü ¹ß°ßÀ» Çã¿ëÇÏ´Â ½Äº° °¡´ÉÇÑ Æ¯¼ºÀÌ Àְųª ÄÁÅÙÃ÷ À¯Çü¿¡ ¼ÓÇÑ
µ¥ÀÌÅÍ¿¡ Ưº°ÇÑ Æ¯¼ºÀÌ ÀÖ´Â °æ¿ì ÄÁÅÙÃ÷ ¼³¸íÀÚ¸¦ Á¦°øÇØ¾ß ÇÕ´Ï´Ù. org.eclipse.core.runtime.text
ÀÇ °æ¿ì,
ÄÁÅÙÃ÷¸¸ º¸°í ÄÁÅÙÃ÷ À¯ÇüÀ» ÀÌÇØÇÒ ¼ö´Â ¾ø½À´Ï´Ù.
±×·¯³ª Á¦Ç° Á¤º¸¿¡ °ü½ÉÀÌ ÀÖÀ» ¼ö Àִ Ư¼º Ŭ¶óÀ̾ðÆ®ÀÎ ¹ÙÀÌÆ® ¼ø¼ Ç¥½Ã°¡ ÅØ½ºÆ® ½ºÆ®¸²¿¡ ¹Ì¸® Ãß°¡µÉ ¼ö ÀÖÀ¸¹Ç·Î
ÄÁÅÙÃ÷ ¼³¸íÀÚ°¡ º¸ÀåµË´Ï´Ù.
¼³¸íÀÚ´Â IContentDescriber ¶Ç´Â ITextContentDescriberÀÇ ±¸ÇöÀÔ´Ï´Ù. ÈÄÀÚ´Â ¼³¸íÀÚ ¶Ç´Â ÅØ½ºÆ® ÁöÇâ ÄÁÅÙÃ÷ À¯ÇüÀ¸·Î ±¸ÇöÇØ¾ß ÇÏ´Â ÀüÀÚ¸¦ Ư¼öÈÇÑ °ÍÀÔ´Ï´Ù. ÄÁÅÙÃ÷ À¯ÇüÀÇ ³×ÀÌó¿¡ °ü°è¾øÀÌ ¼³¸íÀÚ´Â µÎ °¡Áö Ã¥ÀÓÀ» ¸Ã°í Àִµ¥, ÄÁÅÙÃ÷ À¯ÇüÀÌ ÁÖ¾îÁø µ¥ÀÌÅÍ ½ºÆ®¸²¿¡ ÀûÇÕÇÑÁö ¿©ºÎ¸¦ ÆÇº°ÇÒ ¼ö ÀÖµµ·Ï µ½°í ÄÁÅÙÃ÷ À¯Çü¿¡ ¼ÓÇÑ °ÍÀ¸·Î ÃßÁ¤µÇ´Â µ¥ÀÌÅÍ ½ºÆ®¸²¿¡¼ Ưº°ÇÑ Æ¯¼ºÀ» ÃßÃâÇÏ´Â °ÍÀÔ´Ï´Ù.
describe(stream, description) ¸Þ¼Òµå´Â Ç÷§ÆûÀÌ Æ¯Á¤ µ¥ÀÌÅÍ ½ºÆ®¸²ÀÇ ÄÁÅÙÃ÷ À¯ÇüÀ» ÆÇº°Çϰųª ÄÁÅÙÃ÷¸¦ ¼³¸íÇÏ·Á°í ½ÃµµÇÒ
¶§¸¶´Ù È£ÃâµË´Ï´Ù. ¹ß°ß¸¸ ¿äûÇÏ´Â °æ¿ì¿¡´Â ¼³¸íÀÌ null
ÀÔ´Ï´Ù.
±×·¸Áö ¾ÊÀ¸¸é ¼³¸íÀÚ°¡ ½ºÆ®¸²À» ÀÐ¾î ¹ß°ßÇÒ ¼ö Àִ Ư¼º¸¸À¸·Î ÄÁÅÙÃ÷ ¼³¸íÀ»
ä¿ì·Á°í ½ÃµµÇØ¾ß ÇÕ´Ï´Ù.
ÄÁÅÙÃ÷ À¯Çü ¸¶Å©¾÷À» »ç¿ëÇÏ¿© ±âº»°ªÀ» °®´Â Ư¼ºÀ» ¼±¾ðÇØ¾ß ÇÕ´Ï´Ù(¿¹:
org.eclipse.core.runtime.xml
Àº UTF-8À» ±âº» ¹®ÀÚ ¼¼Æ®·Î ¼±¾ðÇÔ).
ÄÁÅÙÃ÷ ¼³¸íÀÚ´Â ÀÓ¹« ¼öÇà ½Ã °¡´ÉÇÑ »¡¸® ½ÇÇàµÇ¾î¾ß ÇÕ´Ï´Ù. Àоî¾ß ÇÒ µ¥ÀÌÅÍ ½ºÆ®¸²ÀÌ ÀûÀ»¼ö·Ï ÁÁ½À´Ï´Ù. ¶ÇÇÑ Ç÷¯±×ÀΠȰ¼ºÈ¿¡¼ ¸éÁ¦µÈ ÆÐŰÁö¿¡ ÄÁÅÙÃ÷ ¼³¸íÀÚ ±¸ÇöÀÌ ¼±¾ðµË´Ï´Ù(Eclipse-AutoStart ¹øµé Manifest Çì´õ ÂüÁ¶). ÄÁÅÙÃ÷ À¯Çü ÇÁ·¹ÀÓ¿öÅ©°¡ Ãʱâ鵃 ¶§ ¸ðµç ¼³¸íÀÚ°¡ ÀνºÅϽºÈµÇ±â ¶§¹®¿¡ ÀÌ ¿ä±¸»çÇ×À» ÁؼöÇÏÁö ¸øÇϸé Á¶±â Ȱ¼ºÈ°¡ ¹ß»ýÇϹǷΠÀ̸¦ ÇÇÇØ¾ß ÇÕ´Ï´Ù. ÇâÈÄ Ç÷§Æû ±¸Çö¿¡¼´Â ¼³¸íÀÚ°¡ ÀνºÅϽºÈµÇ¸é ÇØ´ç Ç÷¯±×ÀÎÀÇ È°¼ºÈ°¡ Æ®¸®°ÅµÇ´Â °æ¿ì À̸¦ °ÅºÎÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÄÁÅÙÃ÷ À¯ÇüÀº º»ÁúÀûÀ¸·Î °èÃþ ±¸Á¶ÀÔ´Ï´Ù. À̸¦ ÅëÇØ »õ ÄÁÅÙÃ÷ À¯ÇüÀº ´õ¿í ÀϹÝÀûÀÎ ÄÁÅÙÃ÷ À¯ÇüÀÇ ¼Ó¼º ¶Ç´Â ÀÛµ¿¿¡ ¿µÇâÀ» ÁÝ´Ï´Ù. ¿¹¸¦ µé¾î, XML µ¥ÀÌÅÍÀÇ ÄÁÅÙÃ÷ À¯ÇüÀº ÅØ½ºÆ® ÄÁÅÙÃ÷ À¯ÇüÀÇ ÇÏÀ§·Î °£Áֵ˴ϴÙ.
<content-type id="xml" name="%xmlContentTypeName" base-type="org.eclipse.core.runtime.text" file-extensions="xml"> <describer class="org.eclipse.core.internal.content.XMLContentDescriber"/> <property name="charset" default="UTF-8"/> </content-type>
XML ÆÄÀÏÀº ÀÏÁ¾ÀÇ ÅØ½ºÆ® ÆÄÀÏ·Î °£ÁֵǹǷΠÈÄÀÚ¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀº ÀüÀÚ¿¡µµ Àû¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.
XML ÄÁÅÙÃ÷ À¯ÇüÀº ÆÄÀÏ ¿¬°ü ¹× ¼³¸íÀÚ ±¸Çö µî Text ÄÁÅÙÃ÷ À¯Çü¿¡ ¿ø·¡ Á¤ÀÇµÈ ¸î °¡Áö ÄÁÅÙÃ÷ À¯Çü ¼Ó¼ºÀ»
´ëüÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ ÄÁÅÙÃ÷ À¯ÇüÀº
charset
Ư¼ºÀÇ ±âº» Ư¼º °ªÀ» ¼±¾ðÇÕ´Ï´Ù. ÀÌ´Â XML ÄÁÅÙÃ÷ À¯Çü¿¡ ¼ÓÇÑ °ÍÀ¸·Î °£ÁֵǴÂ
µ¥ÀÌÅÍ ½ºÆ®¸²¿¡ ´ëÇÑ ÄÁÅÙÃ÷ ¼³¸í Áß¿¡ ¼³¸íÀÚ°¡ charset ¼Ó¼ºÀ» ä¿ìÁö ¾ÊÀ¸¸é Ç÷§ÆûÀÌ À̸¦ "UTF-8"·Î ¼³Á¤ÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
¶Ç ´Ù¸¥ ¿¹Á¦·Î org.eclipse.ant.core.antBuildFile
ÄÁÅÙÃ÷
À¯Çü(Ant ºôµå ½ºÅ©¸³Æ®ÀÇ °æ¿ì)Àº XML ÄÁÅÙÃ÷ À¯ÇüÀ» È®ÀåÇÕ´Ï´Ù.
<content-type
id="antBuildFile"
name="%antBuildFileContentType.name"
base-type="org.eclipse.core.runtime.xml"
file-names="build.xml"
file-extensions="macrodef,ent,xml">
<describer
class="org.eclipse.ant.internal.core.contentDescriber.AntBuildfileContentDescriber">
</describer>
</content-type>
charset Ư¼ºÀÇ ±âº»°ªÀº »ó¼ÓµÊ¿¡ À¯ÀÇÇϽʽÿÀ. »ó¼ÓµÈ Ư¼º ¶Ç´Â ¼³¸íÀÚ¸¦ ºó ¹®ÀÚ¿ °ªÀ¸·Î ´Ù½Ã ¼±¾ðÇÏ¿© Ãë¼ÒÇÒ ¼ö ÀÖ½À´Ï´Ù.
±âÁ¸ ÄÁÅÙÃ÷ À¯Çü¿¡ »õ ÆÄÀÏ ¿¬°üÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î,
ÀÚ¿ø Ç÷¯±×ÀÎÀº org.eclipse.core.runtime.xml
À»
".project" ÆÄÀϰú ¿¬°ü½Ãŵ´Ï´Ù.
<extension point="org.eclipse.core.runtime.contentTypes"> <file-association content-type="org.eclipse.core.runtime.xml" file-names=".project"/> ...
EclipseÀÇ È®Àå °¡´ÉÇÑ Æ¯¼º ¶§¹®¿¡ Ç÷¯±×ÀÎÀÌ ÀÇÁ¸ÇÏ´Â ÄÁÅÙÃ÷ À¯ÇüÀ»
ÁÖ¾îÁø Á¦Ç° ±¸¼º¿¡¼ »ç¿ë ºÒ°¡´ÉÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÄÁÅÙÃ÷ À¯Çü º°¸í ÁöÁ¤À» »ç¿ëÇÏ¿©
À̸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ÄÁÅÙÃ÷ À¯Çü º°¸íÀº
»ç¿ë°¡´É¼ºÀÌ º¸ÀåµÇÁö ¾Ê´Â ¼±È£ÇÏ´Â ´Ù¸¥ ÄÁÅÙÃ÷ À¯ÇüÀÇ Ç÷¹À̽ºÈ¦´õÀÔ´Ï´Ù. ¿¹¸¦ µé¾î,
·±Å¸ÀÓÀº JDT(Java Development Tooling)¿¡¼ Á¦°øÇÏ´Â Java Ư¼º ÄÁÅÙÃ÷ À¯Çü(org.eclipse.jdt.core.javaProperties
)ÀÇ
º°¸í(org.eclipse.core.runtime.properties
)À» ¼±¾ðÇÕ´Ï´Ù.
<!-- a placeholder for setups where JDT's official type is not available -->
<content-type id="properties" name="%propertiesContentTypeName"
base-type="org.eclipse.core.runtime.text"
alias-for="org.eclipse.jdt.core.javaProperties"
file-extensions="properties">
<property name="charset" default="ISO-8859-1"/>
</content-type>
ÀÌ´Â ¼±È£ ÄÁÅÙÃ÷ À¯Çü »ç¿ë °¡´É ¿©ºÎ¿¡ °ü°è¾øÀÌ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â Ç÷¹À̽ºÈ¦´õ¸¦ Ç÷¯±×Àο¡ Á¦°øÇÕ´Ï´Ù. ¼±È£ ÄÁÅÙÃ÷ À¯ÇüÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì, º°¸í ÄÁÅÙÃ÷ À¯ÇüÀº ÄÁÅÙÃ÷ À¯Çü īŻ·Î±×¿¡¼ ¾ïÁ¦µÇ°í ÀÌ¿¡ ´ëÇÑ ÂüÁ¶´Â ´ë»ó ÄÁÅÙÃ÷ À¯Çü¿¡ ´ëÇÑ ÂüÁ¶·Î ÇØ¼®µË´Ï´Ù. »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì, º°¸íÀº ÀÏ¹Ý ÄÁÅÙÃ÷ À¯ÇüÀ¸·Î »ç¿ëµË´Ï´Ù.