ÀÚ¿ø ¸¶Ä¿

Ç÷¯±×ÀÎÀº Ư¼ö ÆÄÀÏ È®ÀåÀ» Á¤ÀÇÇϰí ÀÌ·± ÆÄÀÏ À¯Çü¿¡ ´ëÇØ Ư¼ö ÆíÁý ±â´ÉÀ» Á¦°øÇÏ´Â ÆíÁý±â¸¦ Á¦°øÇÕ´Ï´Ù. ÀÚ¿øÀ» ÆíÁý(¶Ç´Â ºôµå)ÇÏ´Â µ¿¾È Ç÷¯±×ÀÎÀº ÀÚ¿øÀ» ű×È­ÇÏ¿© »ç¿ëÀÚ¿¡°Ô ¹®Á¦Á¡À̳ª ±âŸ Á¤º¸¸¦ Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¿ø ¸¶Ä¿ ¸ÞÄ¿´ÏÁòÀº ÀÌ·± À¯ÇüÀÇ Á¤º¸¸¦ °ü¸®ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.

¸¶Ä¿´Â ÀÚ¿ø¿¡ ºÎÂøÇÏ´Â ³ë¶õ»öÀÇ ¸Þ¸ð¶ó°í »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¶Ä¿¿¡ ¹®Á¦Á¡(¿¹: À§Ä¡, ½É°¢µµ)À̳ª ¼öÇàµÉ Ÿ½ºÅ©¿¡ ´ëÇÑ Á¤º¸¸¦ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.  ¶Ç´Â ¸¶Ä¿ À§Ä¡¸¦ Ã¥°¥ÇÇ·Î ±â·ÏÇÒ ¼öµµ ÀÖ½À´Ï´Ù. 

»ç¿ëÀÚ´Â ÀÚ¿ø ³»¿¡¼­ Ç¥½ÃµÈ À§Ä¡·Î ½Å¼ÓÈ÷ Á¡ÇÁÇÒ ¼ö ÀÖ½À´Ï´Ù. Workbench UI´Â ÆíÁý±â¸¦ µû¶ó Ã¥°¥ÇÇ, Áß´ÜÁ¡, Ÿ½ºÅ©, ¹®Á¦Á¡¿¡ ´ëÇÑ ÇÁ¸®Á¨Å×À̼ÇÀ» Áö¿øÇÕ´Ï´Ù.  ÀÌ ¸¶Ä¿´Â Ÿ½ºÅ© ¶Ç´Â ¹®Á¦Á¡ º¸±â¿Í °°Àº º¸±â¿¡ Ç׸ñÀ¸·Î Ç¥½ÃµÉ ¼öµµ ÀÖ½À´Ï´Ù.

Ç÷§Æû ÀÚ¿ø API´Â ¸¶Ä¿ ÀÛ¼º, ¸¶Ä¿ °ª ¼³Á¤ ¹× »õ ¸¶Ä¿ À¯ÇüÀ» »ç¿ëÇÏ¿© Ç÷§ÆûÀ» È®ÀåÇϱâ À§ÇÑ ¸Þ¼Òµå¸¦ Á¤ÀÇÇÕ´Ï´Ù. Ç÷§ÆûÀÌ ¸¶Ä¿¸¦ °ü¸®ÇÏ´Â µ¿¾È Ç÷¯±×ÀÎÀÌ ¸¶Ä¿ ÀÛ¼º, Á¦°Å ¹× ¼Ó¼º °ªÀ» Á¦¾îÇÕ´Ï´Ù.

¸¶Ä¿´Â ÀÛ°í, °£´ÜÇÑ ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ÇϳªÀÇ ÇÁ·ÎÁ§Æ®¿¡ ¼ö¹é°³ÀÇ, ½ÉÁö¾î ¼öõ°³ÀÇ ¸¶Ä¿°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.  ¿¹¸¦ µé¾î, Java ÄÄÆÄÀÏ·¯´Â ¸¶Ä¿¸¦ »ç¿ëÇÏ¿© ¼Ò½º Äڵ忡¼­ ãÀº °¢ ¹®Á¦Á¡À» Ç÷¡±×ÇÕ´Ï´Ù.

Ç÷§ÆûÀº »èÁ¦µÈ ÀÚ¿ø¿¡ ÷ºÎµÈ ¸¶Ä¿¸¦ ó¸®ÇÏÁö¸¸ Á¸ÀçÇÏ´Â ÀÚ¿ø¿¡ ¸¶Ä¿°¡ ´õ ÀÌ»ó Àû¿ëµÇÁö ¾ÊÀ» °æ¿ì¿¡´Â Ç÷¯±×ÀÎÀÌ ¸¶Ä¿¸¦ Á¦°ÅÇÕ´Ï´Ù.

¸¶Ä¿ Á¶ÀÛ

¸¶Ä¿¸¦ Á¶ÀÛÇÏ´Â °ÍÀº ÀÚ¿øÀ» Á¶ÀÛÇÏ´Â °Í°ú À¯»çÇÕ´Ï´Ù. ¸¶Ä¿´Â ÇÚµé ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ÀÚ¿øÀ¸·ÎºÎÅÍ ¸¶Ä¿ ÇÚµéÀ» ¾òÀ» ¼ö ÀÖÁö¸¸, exists() ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇϰųª ´Ù¸¥ ¹æ¹ýÀ¸·Î Á¶ÀÛÀ» ½ÃµµÇÒ ¶§±îÁö ½ÇÁ¦·Î ¸¶Ä¿ ÇÚµéÀÌ ÀÖ´ÂÁö ¾ËÁö ¸øÇÕ´Ï´Ù. ¸¶Ä¿°¡ ÀÖ´ÂÁö È®ÀÎÇßÀ¸¸é ¸¶Ä¿¿¡ ÁöÁ¤µÇ¾úÀ» ¼öµµ ÀÖ´Â À̸§ ÁöÁ¤µÈ ¼Ó¼ºÀ» Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ç÷§ÆûÀÌ ¸¶Ä¿¸¦ ¼ÒÀ¯ÇÏ°í °ü¸®Çϴµ¥, Ç÷§ÆûÀº ¸¶Ä¿¸¦ Áö¼ÓÀûÀ¸·Î À¯ÁöÇÏ°í ¸¶Ä¿°¡ Ãß°¡, »èÁ¦ ¶Ç´Â º¯°æµÇ¸é ¸®½º³Ê¿¡°Ô ¾Ë¸³´Ï´Ù.  Ç÷¯±×ÀÎÀº Çʼö ¸¶Ä¿ ÀÛ¼ºÇϰųª ¸¶Ä¿ ¼Ó¼ºÀ» º¯°æÇϰí, ¸¶Ä¿°¡ ´õÀÌ»ó ÇÊ¿ä ¾øÀ» °æ¿ì ¸¶Ä¿¸¦ Á¦°ÅÇÕ´Ï´Ù.

¸¶Ä¿ ÀÛ¼º

¸¶Ä¿´Â »ý¼ºÀÚ¸¦ »ç¿ëÇÏ¿© Á÷Á¢ ÀÛ¼ºµÇÁö ¾Ê½À´Ï´Ù. ¿¬°üµÈ ÀÚ¿ø¿¡¼­ ÆÑÅ丮 ¸Þ¼Òµå(IResource.createMarker())¸¦ »ç¿ëÇÏ¿© ÀÛ¼ºµË´Ï´Ù.

IMarker marker = file.createMarker(IMarker.TASK);

±Û·Î¹ú ¹üÀ§¸¦ °¡Áø(ƯÁ¤ ÀÚ¿ø°ú ¿¬°üµÇÁö ¾ÊÀº) ¸¶Ä¿¸¦ ÀÛ¼ºÇÏ·Á¸é ÀÛ¾÷°ø°£ ·çÆ®(IWorkspace.getRoot())¸¦ ÀÚ¿øÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¶Ä¿ »èÁ¦

¸¶Ä¿¸¦ »èÁ¦Çϱâ À§ÇÑ ÄÚµå´Â °£´ÜÇÕ´Ï´Ù.

try {
      marker.delete();
} catch (CoreException e) {
      // Something went wrong
   }

¸¶Ä¿°¡ »èÁ¦µÇ¸é ¸¶Ä¿ ¿ÀºêÁ§Æ®(ÇÚµé)ÀÌ "¾µ¸ð ¾ø°Ô" µË´Ï´Ù. Ç÷¯±×ÀÎÀº IMarker.exists() ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© ¸ÓÄ¿ ¿ÀºêÁ§Æ®°¡ ¾ÆÁ÷ À¯È¿ÇÑÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.

ÀÚ¿øÀÌ ¸¶Ä¿¸¦ »èÁ¦Çϵµ·Ï Çϸé Àϰý󸮷Π¸¶Ä¿¸¦ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â µ¿½Ã¿¡ ´Ù¼öÀÇ ¸¶Ä¿¸¦ Á¦°ÅÇϰųª °³º° ¸¶Ä¿ ÂüÁ¶ ¶Ç´Â ID¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù.

int depth = IResource.DEPTH_INFINITE;
try {
      resource.deleteMarkers(IMarker.PROBLEM, true, depth);
} catch (CoreException e) {
      // something went wrong
   }

¸¶Ä¿ ±×·ìÀ» »èÁ¦ÇÒ ¶§ »èÁ¦ÇÒ ¸¶Ä¿ À¯Çü(¿¹: IMarker.PROBLEM)À» ÁöÁ¤ÇϽʽÿÀ. ¸¶Ä¿¸¦ ¸ðµÎ »èÁ¦ÇÏ·Á¸é nullÀ» ÁöÁ¤ÇϽʽÿÀ. µÎ ¹øÂ° Àμö´Â ºÎ¼ÓÀ¯Çü ¸¶Ä¿¸¦ »èÁ¦ÇÒÁö ¿©ºÎ¸¦ Ç¥½ÃÇÕ´Ï´Ù. (Àá½Ã ÈÄ »õ ¸¶Ä¿ À¯ÇüÀ» Á¤ÀÇÇÒ ¶§ ºÎ¼ÓÀ¯Çü¿¡ ´ëÇØ »ìÆì º¸µµ·Ï ÇÕ´Ï´Ù.)  depth Àμö´Â »èÁ¦ ±íÀ̸¦ Á¦¾îÇÕ´Ï´Ù. 

IWorkspace.deleteMarkers(IMarker [])¸¦ »ç¿ëÇÏ¿© ¸¶Ä¿¸¦ »èÁ¦ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

¸¶Ä¿ ¼Ó¼º

¸¶Ä¿°¡ Á¦°øµÇ¸é ¿¬°üµÈ ÀÚ¿ø, ÇØ´ç ÀÚ¿ø°ú °ü·ÃÇÏ¿© °íÀ¯ÇÑ ¸¶Ä¿ ID ¹× ¸¶Ä¿ À¯ÇüÀ» ¿ä±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÏ¹Ý ¼Ó¼ºÀ» ÅëÇØ Ãß°¡ Á¤º¸¿¡ ¾×¼¼½ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

°¢ ¸¶Ä¿ À¯Çü¸¶´Ù À̸§ ÁöÁ¤ ±ÔÄ¢À» »ç¿ëÇÏ¿© ¸¶Ä¿ À¯Çü ÀÛ¼ºÀÚ¿¡ ÀÇÇØ Á¤ÀÇµÈ Æ¯Á¤ ¼Ó¼º ¼¼Æ®°¡ ÀÖ½À´Ï´Ù.  IMarker ÀÎÅÍÆäÀ̽º´Â Ç÷§Æû ¸¶Ä¿ À¯ÇüÀÇ Ç¥ÁØ ¼Ó¼º À̸§(¹× ÀϺΠ¿¹»ó °ª)ÀÌ µé¾î ÀÖ´Â »ó¼ö ¼¼Æ®¸¦ Á¤ÀÇÇÕ´Ï´Ù. ´ÙÀ½ ¸Þ¼Òµå´Â Ç÷§Æû »ó¼ö¸¦ »ç¿ëÇÏ¿© ¼Ó¼ºÀ» Á¶ÀÛÇÕ´Ï´Ù.

IMarker marker = file.createMarker(IMarker.TASK);
   if (marker.exists()) {
try {
         marker.setAttribute(IMarker.MESSAGE, "A sample marker message");
         marker.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_HIGH);
} catch (CoreException e) {
         // You need to handle the case where the marker no longer exists      }
   }

ÀϹÝÀûÀ¸·Î ¼Ó¼ºÀº À̸§/°ª ½ÖÀ¸·Î À¯Áöº¸¼öµÇ´Âµ¥, À̸§Àº ¹®ÀÚ¿­ÀÌ°í °ªÀº Áö¿øµÇ´Â °ª À¯Çü(ºÎ¿ï, Á¤¼ö, ¹®ÀÚ¿­) Áß ÇϳªÀÔ´Ï´Ù. °ª À¯Çü¿¡ Á¦ÇÑÀÌ Àֱ⠶§¹®¿¡ Ç÷§ÆûÀº ¸¶Ä¿¸¦ ½Å¼ÓÇϸ鼭µµ °£´ÜÇÏ°Ô Áö¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¶Ä¿ Á¶È¸

¸¶Ä¿¿Í ÇÏÀ§ ¸¶Ä¿¿¡ ´ëÇØ ÀÚ¿øÀ» Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ±íÀ̰¡ ¹«ÇÑ´ëÀÎ ÀÛ¾÷°ø°£ ·çÆ®¸¦ Á¶È¸Çϸé ÀÛ¾÷°ø°£ÀÇ ¸ðµç ¸¶Ä¿°¡ ÂüÀ۵˴ϴÙ.

IMarker[] problems = null;
int depth = IResource.DEPTH_INFINITE;
try {
      problems = resource.findMarkers(IMarker.PROBLEM, true, depth);
} catch (CoreException e) {
      // something went wrong
   }

findMarkers¿¡ ÀÇÇØ ¸®ÅÏµÈ °á°ú´Â Àü´ÞµÈ Àμö¿¡ µû¶ó ´Ù¸¨´Ï´Ù.  À§ÀÇ ½º´ÏÆê¿¡¼­´Â ÀÚ¿ø°ú ¸ðµç Á÷Á¢, °£Á¢ ÇÏÀ§ Ç׸ñ¿¡ Ç¥½ÃµÇ´Â PROBLEM À¯ÇüÀÇ ¸ðµç ¸¶Ä¿¸¦ ã°í ÀÖ½À´Ï´Ù. 

¸¶Ä¿ À¯ÇüÀ¸·Î nullÀ» Àü´ÞÇϸé, ÀÚ¿ø°ú ¿¬°üµÈ ¸ðµç ¸¶Ä¿ À¯ÇüÀ» °¡Á®¿À°Ô µË´Ï´Ù. µÎ ¹øÂ° Àμö´Â ÀÚ¿øÀÇ ÇÏÀ§¸¦ °Ë»öÇÒÁö ¿©ºÎ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.  depth Àμö´Â ÀÚ¿øÀÇ ÇÏÀ§¸¦ °Ë»öÇϰí ÀÖÀ» ¶§ °Ë»ö ±íÀ̸¦ Á¦¾îÇÕ´Ï´Ù.±íÀÌ´Â DEPTH_ZERO(ÁÖ¾îÁø ÀÚ¿ø¸¸), DEPTH_ONE(ÀÚ¿ø°ú ±× ¸ðµç Á÷Á¢ÀûÀÎ ÇÏÀ§) ¶Ç´Â DEPTH_INFINITE(ÀÚ¿ø°ú ±× ¸ðµç Á÷/°£Á¢ ÇÏÀ§ Ç׸ñ)ÀÔ´Ï´Ù.

¸¶Ä¿ Áö¼Ó

Ç÷§Æû Ç¥ÁØ ¸¶Ä¿(Ÿ½ºÅ©, ¹®Á¦Á¡, Ã¥°¥ÇÇ)´Â Áö¼ÓÀûÀÔ´Ï´Ù. À̰ÍÀº Workbench Á¾·á ¹× ½ÃÀÛ¿¡ °ÉÃÄ »óŰ¡ ÀúÀåµÊÀ» ÀǹÌÇÕ´Ï´Ù. ±×·¯³ª, Áö¼ÓÀûÀÎ ¸¶Ä¿ À¯ÇüÀº ¿¹¾àµÈ transient ¼Ó¼ºÀ» true·Î ¼³Á¤ÇÏ¿© ¼±ÅÃÀûÀ¸·Î Àӽà »óŰ¡ µÉ ¼ö ÀÖ½À´Ï´Ù.

Ç÷¯±×Àο¡ ÀÇÇØ ¼±¾ðµÈ »õ ¸¶Ä¿ À¯ÇüÀº Áö¼ÓÀûÀ¸·Î ¼±¾ðµÈ °æ¿ì¸¦ Á¦¿ÜÇϰí Áö¼ÓÀûÀÌÁö ¾Ê½À´Ï´Ù.

»õ ¸¶Ä¿ À¯ÇüÀ» »ç¿ëÇÏ¿© Ç÷§Æû È®Àå

Ç÷¯±×ÀÎÀº org.eclipse.core.resources.markers È®ÀåÁ¡À» »ç¿ëÇÏ¿© °íÀ¯ ¸¶Ä¿ À¯ÇüÀ» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹®Á¦Á¡, Ÿ½ºÅ©, Ã¥°¥ÇÇ¿¡ ´ëÇÑ Ç¥ÁØ ¸¶Ä¿ À¯ÇüÀº ÀÚ¿ø Ç÷¯±×ÀÎÀÇ ¸¶Å©¾÷¿¡¼­ Ç÷§Æû¿¡ ÀÇÇØ ¼±¾ðµË´Ï´Ù.

      <extension
      id="problemmarker" 
      point="org.eclipse.core.resources.markers" 
      name="%problemName">
      <super type="org.eclipse.core.resources.marker"/>
      <persistent value="true"/>
      <attribute name="severity"/>
      <attribute name="message"/>
      <attribute name="location"/>
   </extension>
   <extension
      id="taskmarker" 
      point="org.eclipse.core.resources.markers" 
      name="%taskName">
      <super type="org.eclipse.core.resources.marker"/>
      <persistent value="true"/>
      <attribute name="priority"/>
      <attribute name="message"/>
      <attribute name="done"/>
      <attribute name="userEditable"/>      
   </extension>
   <extension
      id="bookmark" 
      point="org.eclipse.core.resources.markers" 
      name="%bookmarkName">
      <super type="org.eclipse.core.resources.marker"/>
      <persistent value="true"/>
      <attribute name="message"/>
      <attribute name="location"/>
   </extension>

»õ ¸¶Ä¿ À¯ÇüÀº ´ÙÁß »ó¼ÓÀ» »ç¿ëÇÏ¿© ±âÁ¸ ¸¶Ä¿ À¯Çü¿¡¼­ À¯·¡µË´Ï´Ù. »õ ¸¶Ä¿ À¯ÇüÀº ¼öÆÛ À¯ÇüÀ¸·ÎºÎÅÍ ¸ðµç ¼Ó¼ºÀ» »ó¼ÓÇϸç, Á¤ÀÇµÈ »õ ¼Ó¼ºÀ» ¼±¾ð À¯ÇüÀ¸·Î Ãß°¡ÇÕ´Ï´Ù. ÀϽÃÀûÀ¸·Î ÇØ´ç ¼öÆÛ À¯ÇüÀÇ ¼öÆÛ À¯ÇüÀ¸·ÎºÎÅÍ ¼Ó¼ºÀ» »ó¼ÓÇϱ⵵ ÇÕ´Ï´Ù. ´ÙÀ½ ¸¶Ä¿´Â °¡»óÀÇ com.example.markers Ç÷¯±×Àο¡ »õ ¸¶Ä¿ À¯ÇüÀ» Á¤ÀÇÇÕ´Ï´Ù.

      <extension
      id="mymarker"
      point="org.eclipse.core.resources.markers" />
   <extension
      id="myproblem"
      point="org.eclipse.core.resources.markers">
      <super type="org.eclipse.core.resources.problemmarker"/>
      <super type="com.example.markers.mymarker"/>
      <attribute name="myAttribute" />
      <persistent value="true" />
   </extension>

org.eclipse.core.resources.problemmarker À¯ÇüÀº ½ÇÁ¦·Î ¹Ì¸® Á¤ÀÇµÈ À¯Çü(aka IMarker.PROBLEM) Áß ÇϳªÀÔ´Ï´Ù. 

»ó¼ÓµÇÁö ¾Ê´Â ¸¶Ä¿ ¼öÆÛ À¯ÇüÀÇ À¯ÀÏÇÑ Æ¯¼ºÀº persistent Ç÷¡±×ÀÔ´Ï´Ù.  Áö¼Ó ±âº»°ªÀº 'false'À̹ǷΠÁö¼ÓµÇ¾î¾ß ÇÒ ¸¶Ä¿ À¯Çü¿¡´Â <persistent value="true"/>¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.

Ç÷¯±×ÀÎ Manifest ÆÄÀÏ¿¡ »õ ¸¶Ä¿ À¯ÇüÀ» ¼±¾ðÇÑ ÈÄ¿¡´Â com.example.markers.myproblem ¸¶Ä¿ À¯Çü ÀνºÅϽº¸¦ ÀÛ¼ºÇϰí myAttribute ¼Ó¼ºÀ» ÀÚÀ¯·ÎÀÌ ¼³Á¤Çϰųª °¡Á®¿Ã ¼ö ÀÖ½À´Ï´Ù.

»õ ¼Ó¼ºÀ» ¼±¾ðÇÏ¸é µ¥ÀÌÅ͸¦ ´Ù¸¥ °÷(º¸±â ¶Ç´Â ÆíÁý±â)¿¡ »ç¿ëÇÒ ¸¶Ä¿¿Í ¿¬°ü½Ãų ¼ö ÀÖ½À´Ï´Ù. ƯÁ¤ À¯ÇüÀÇ ¸¶Ä¿´Â ¼±¾ðµÈ ¼Ó¼º¿¡ ´ëÇÑ ¸ðµç °ªÀ» °®Áö ¾Ê¾Æµµ µË´Ï´Ù. ¼Ó¼º ¼±¾ðÀº ÄÁÅÙÃ÷¸¦ Á¦ÇÑÇϱâ À§ÇÑ °ÍÀÌ ¾Æ´Ï¶ó ¸ðµç »ç¶÷ÀÌ "¸Þ½ÃÁö"¸¦ »ç¿ëÇÏ¿© ¸¶Ä¿ ¼³¸íÀ» ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï À̸§ ÁöÁ¤ ±ÔÄ¢ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§ÇÑ °ÍÀÔ´Ï´Ù.

public IMarker createMyMarker(IResource resource) {
try {
         IMarker marker = resource.createMarker("com.example.markers.myproblem");
         marker.setAttribute("myAttribute", "MYVALUE");
         return marker;
} catch (CoreException e) {
         // You need to handle the cases where attribute value is rejected
      }
   }

Ç÷§Æû ¸¶Ä¿ À¯ÇüÀ» Á¶È¸ÇÏ´Â °Í°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÀÚ °íÀ¯ ¸¶Ä¿ À¯ÇüÀ» Á¶È¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.  ´ÙÀ½ ¸Þ¼Òµå´Â ÁÖ¾îÁø ´ë»ó ÀÚ¿ø ¹× ¸ðµç ÇÏÀ§ Ç׸ñ°ú ¿¬°üµÈ mymarkers¸¦ ¸ðµÎ ã½À´Ï´Ù. includeSubtypes Àμö¿¡ ´ëÇØ 'true'°¡ Àü´ÞµÇ¹Ç·Î ÀÌ ¸Þ¼Òµå´Â myproblemsµµ ¸ðµÎ ã½À´Ï´Ù.

public IMarker[] findMyMarkers(IResource target) {
      String type = "com.example.markers.mymarker";
      IMarker[] markers = target.findMarkers(type, true, IResource.DEPTH_INFINITE);
   }

Copyright IBM Corporation and others 2000, 2003.