Ç÷¯±×ÀÎÀº Ư¼ö ÆÄÀÏ È®ÀåÀ» Á¤ÀÇÇϰí ÀÌ·± ÆÄÀÏ À¯Çü¿¡ ´ëÇØ Ư¼ö ÆíÁý ±â´ÉÀ» Á¦°øÇÏ´Â ÆíÁý±â¸¦ Á¦°øÇÕ´Ï´Ù. ÀÚ¿øÀ» ÆíÁý(¶Ç´Â ºôµå)ÇÏ´Â µ¿¾È Ç÷¯±×ÀÎÀº ÀÚ¿øÀ» ű×ÈÇÏ¿© »ç¿ëÀÚ¿¡°Ô ¹®Á¦Á¡À̳ª ±âŸ Á¤º¸¸¦ Á¦°øÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¿ø ¸¶Ä¿ ¸ÞÄ¿´ÏÁòÀº ÀÌ·± À¯ÇüÀÇ Á¤º¸¸¦ °ü¸®ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
¸¶Ä¿´Â ÀÚ¿ø¿¡ ºÎÂøÇÏ´Â ³ë¶õ»öÀÇ ¸Þ¸ð¶ó°í »ý°¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¶Ä¿¿¡ ¹®Á¦Á¡(¿¹: À§Ä¡, ½É°¢µµ)À̳ª ¼öÇàµÉ Ÿ½ºÅ©¿¡ ´ëÇÑ Á¤º¸¸¦ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â ¸¶Ä¿ À§Ä¡¸¦ Ã¥°¥ÇÇ·Î ±â·ÏÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ´Â ÀÚ¿ø ³»¿¡¼ Ç¥½ÃµÈ À§Ä¡·Î ½Å¼ÓÈ÷ Á¡ÇÁÇÒ ¼ö ÀÖ½À´Ï´Ù. 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); }