·±Å¸ÀÓ È¯°æ ¼³Á¤¿¡¼ ȯ°æ ¼³Á¤À» ´Ù¸¥ ¹üÀ§·Î Á¤ÀÇÇϰí ÀúÀåÇÏ´Â ÇϺΠ±¸Á¶¸¦ »ìÆì º¸¾Ò½À´Ï´Ù. ¶ÇÇÑ org.eclipse.core.runtime.preferences È®ÀåÀÌ È¯°æ ¼³Á¤¿¡ Ãß°¡ ¹üÀ§¸¦ Á¤ÀÇÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖÀ½À» È®ÀÎÇß½À´Ï´Ù. Ç÷§Æû ÀÚ¿ø Ç÷¯±×ÀÎÀº ÇÁ·ÎÁ§Æ® ¹üÀ§ÀÇ È¯°æ ¼³Á¤À» Á¤ÀÇÇϱâ À§ÇØ "ÇÁ·ÎÁ§Æ®"¶ó´Â °íÀ¯ ȯ°æ ¼³Á¤ ¹üÀ§¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÇÁ·ÎÁ§Æ® ¹üÀ§ ȯ°æ ¼³Á¤Àº ÇÁ·ÎÁ§Æ® ³»ºÎ¿¡ ÀÖ´Â ÆÄÀÏ¿¡ ÀúÀåµË´Ï´Ù. À̰ÍÀº ȯ°æ ¼³Á¤ ¼¼Æ®ÀÇ ÀúÀå ¹× ¹öÀü Á¦¾î ½Ã½ºÅÛ°ú °°Àº ÀÚ¿ø ÁöÇâ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© ±âŸ »ç¿ëÀÚ¿Í ÁÖ°í ¹Þ´Â È¯°æ ¼³Á¤ ¼¼Æ® ±³È¯À» ½±°Ô ÇØÁÝ´Ï´Ù.
»õ ¹üÀ§¸¦ Á¤ÀÇÇÏ´Â ÀÛ¾÷Àº ¸Å¿ì ´Ü¼øÇÕ´Ï´Ù. Ç÷¯±×ÀÎÀº ¹üÀ§¸¦ ±¸ÇöÇϴ Ŭ·¡½º»Ó¸¸ ¾Æ´Ï¶ó ¹üÀ§ À̸§À» Á¤ÀÇÇÕ´Ï´Ù. ÀÚ¿ø Ç÷¯±×ÀÎÀº ´ÙÀ½°ú °°ÀÌ ÇÁ·ÎÁ§Æ® ¹üÀ§¸¦ Á¤ÀÇÇÕ´Ï´Ù.
<extension id="preferences" point="org.eclipse.core.runtime.preferences" name="preferences"> <scope name="project" class="org.eclipse.core.internal.resources.ProjectPreferences"/> </extension>
ÁöÁ¤µÈ Ŭ·¡½º´Â IScope ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϴµ¥, À̰ÍÀº ¹üÀ§¿¡ ´ëÇØ ȯ°æ ¼³Á¤ ³ëµå¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ¾î¾ß ÇÔÀ» ÀǹÌÇÕ´Ï´Ù.
ȯ°æ ¼³Á¤ÀÇ ÇÁ·ÎÁ§Æ® ¹üÀ§°¡ Ç¥ÁØ ·±Å¸ÀÓ ¹üÀ§°¡ ¾Æ´Ï¹Ç·Î ƯÈ÷ ÇÁ·ÎÁ§Æ® ·¹º§ ȯ°æ ¼³Á¤À» ³ªÅ¸³»´Â ³ëµå¸¦ ¾ò¾î¾ß ÇÕ´Ï´Ù. ·çÆ® ȯ°æ ¼³Á¤ ³ëµå¿¡¼ ÇÁ·ÎÁ§Æ® ¹üÀ§ ȯ°æ ¼³Á¤À¸·Î Ž»öÇØ¾ß ÇÕ´Ï´Ù. ProjectScope¸¦ »ç¿ëÇÏ¿© À̸¦ ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
IScopeContext projectScope = new ProjectScope(MyProject);
ƯÁ¤ ÇÁ·ÎÁ§Æ®ÀÇ ÇÁ·ÎÁ§Æ® ¹üÀ§¸¦ ãÀ¸¸é ÀÌÀü¿¡ È®ÀÎÇÑ µ¿ÀÏÇÑ ¸ÞÄ¿´ÏÁòÀ» »ç¿ëÇÏ¿© ȯ°æ ¼³Á¤ °ªÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ȯ°æ ¼³Á¤Àº ÇØ´ç ȯ°æ ¼³Á¤ÀÇ ¹®ÀÚ¿ À̸§À» »ç¿ëÇÏ¿© À̸§ÀÌ ÁöÁ¤µË´Ï´Ù. À̸§Àº ȯ°æ ¼³Á¤ÀÇ À̸§ °ø°£À» ±ÔÁ¤ÇÏ´Â ´Ù¸¥ ¹®ÀÚ¿(´ë°³ Ç÷¯±×ÀÎ ID)°ú ÇÔ²² ±ÔÁ¤µË´Ï´Ù. ´ÙÀ½ ½º´ÏÆêÀº ÇÁ·ÎÁ§Æ® ¹üÀ§¿¡¼ ȯ°æ ¼³Á¤ ³ëµå¸¦ °¡Á®¿É´Ï´Ù. ¿Ã¹Ù¸¥ ¹üÀ§¸¦ ¾òÀ¸¸é ÇØ´ç ³ëµå¿¡ ´ëÇÑ ÀÛ¾÷ÀÌ ±âŸ ¹üÀ§ÀÇ ³ëµå¿Í ´Ù¸£Áö ¾ÊÀ½À» ¾Ë°Ô µË´Ï´Ù.
... Preferences projectNode = projectScope.node("com.example.myplugin"); if (projectNode != null) { value = node.getBoolean("MyPreference", "true"); //do something with the value. } ...
ÆÄÀÏÀÇ °ªÀ» ÇÁ·ÎÁ§Æ®¿¡ ÀúÀåÇÏ¸é ³ëµå´Â ºñ¿öÁý´Ï´Ù. ÀÚ¿ø Ç÷¯±×ÀÎÀº ÇÁ·ÎÁ§Æ® ·¹º§ ȯ°æ ¼³Á¤ ÆÄÀÏÀ» °ü¸®ÇÏ´Â ³í¸®¸¦ ó¸®ÇÕ´Ï´Ù.
projectNode.flush();