Java ¿¹Á¦ ÆíÁý±â´Â AbstractTextEditor¿¡¼ ¿©·¯ °¡Áö À¯¿ëÇÑ ±âº» ÀÛµ¿À» °è½ÂÇÕ´Ï´Ù. ÅØ½ºÆ® ÆíÁý ÇÁ·¹ÀÓ¿öÅ©´Â AbstractTextEditor¿¡¼ ¸Þ¼Òµå¸¦ ´ëüÇÏ¿© »ç¿ëÀÚ Á¤ÀÇÇÒ ¼ö ÀÖ´Â ´Ù¸¥ ¿©·¯ Àǹ«»çÇ×À» ó¸®ÇÕ´Ï´Ù. ÀÛµ¿ÀÌ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ »ç¿ëÀÚ Á¤ÀǵǴ ¹æ¹ýÀ» º¸·Á¸é ÀÌ Å¬·¡½º ¹× ÇØ´ç ¼ºêŬ·¡½ºÀÇ ±¸ÇöÀ» ã¾Æº¸½Ê½Ã¿À.
´ÙÀ½Àº ±¸¼ºµÉ ¼ö ÀÖ´Â À¯¿ëÇÑ ÀϺΠÇÁ·¹ÀÓ¿öÅ© ±â´ÉÀÔ´Ï´Ù.
¹®¼ ÆíÁý±â´Â ÀϹÝÀûÀ¸·Î ÆíÁý±âÀÇ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¹× ÀÛµ¿À» Á¦¾îÇÏ´Â »ç¿ëÀÚ È¯°æ ¼³Á¤À» Á¦°øÇÕ´Ï´Ù. ÅØ½ºÆ® ÇÁ·¹ÀÓ¿öÅ©¿¡¼ °¢ ¹®¼ ÆíÁý±â ÀνºÅϽº¿¡´Â »ç¿ëÀÚ È¯°æ ¼³Á¤¿¡ ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëµÇ´Â ¿¬°üµÈ ȯ°æ ¼³Á¤ ÀúÀåÀÌ ÀÖ½À´Ï´Ù. ÀÌ È¯°æ ¼³Á¤ ÀúÀåÀº ÆíÁý±â·Î ¼³Á¤Çϰųª, ÇÁ·¹ÀÓ¿öÅ©¿¡¼ ÀÌ¹Ì »ç¿ëµÈ ȯ°æ ¼³Á¤ ÀúÀå¿¡¼ °è½ÂÇÒ ¼ö ÀÖ½À´Ï´Ù.
Java ¿¹Á¦ ÆíÁý±âÀÇ °æ¿ì TextEditor¿¡¼ ÀÇÇØ ÃʱâÈÇÑ È¯°æ ¼³Á¤ ÀúÀåÀ» °è½ÂÇÕ´Ï´Ù. ÀÌ È°°æ ¼³Á¤ ÀúÀåÀº Workbench ÆíÁý±â Ç÷¯±×Àο¡¼ Á¤ÀÇµÈ È¯°æ ¼³Á¤ ÀúÀåÀÔ´Ï´Ù.
protected void initializeEditor() { ... setPreferenceStore(EditorsPlugin.getDefault().getPreferenceStore()); }ÆíÁý±â Ç÷¯±×ÀΠȯ°æ ¼³Á¤Àº Workbench > ÆíÁý±â ¹× Workbench > ÆíÁý±â > ¹®¼ ÆíÁý±â ȯ°æ ¼³Á¤ ÆäÀÌÁö¿¡¼ Á¶ÀÛµÉ ¼ö ÀÖ½À´Ï´Ù.
ÆíÁý±â¿¡ Ç¥ÁØ Workbench ÅØ½ºÆ® ȯ°æ ¼³Á¤À» »ç¿ëÇÏÁö ¾ÊÀ¸·Á¸é ´Ù¸¥ ȯ°æ ¼³Á¤ ÀúÀåÀ» ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀϹÝÀûÀ¸·Î initializeEditor¸¦ ´ëüÇÏ°í »ç¿ëÀÚ °íÀ¯ÀÇ È¯°æ ¼³Á¤ ÀúÀåÀ» ¼³Á¤ÇÏ¿© À̸¦ ¼öÇàÇÕ´Ï´Ù. »ç¿ëÀÚ °íÀ¯ÀÇ È¯°æ ¼³Á¤ ÀúÀåÀ» »ç¿ëÇÏ´Â °æ¿ì ȯ°æ ¼³Á¤ÀÌ °»½ÅµÉ ¶§¸¶´Ù Æ®¸®°ÅµÇ´Â ¸Þ¼Òµå handlePreferenceStoreChanged()µµ ´ëÃ¼ÇØ¾ß ÇÕ´Ï´Ù.
Ű ¹ÙÀεù ¹üÀ§´Â Ű ¹ÙÀεù ã¾Æº¸±â ¼ø¼¸¦ ¼³Á¤ÇÏ´Â µ¥ À¯¿ëÇÕ´Ï´Ù. ÄÁÅØ½ºÆ® ¹üÀ§°¡ ÀÖÀ¸¸é ´Ù¸¥ Ç÷¯±×ÀÎÀÌ Å° ¼ø¼ Ãæµ¹À» ¾ß±âÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀÌ ÁÙ¾îµì´Ï´Ù. ±âº»ÀûÀ¸·Î Workbench´Â ±Û·Î¹ú ¹üÀ§¿¡¼ ÀÛµ¿ÇÕ´Ï´Ù. ¹®¼ ÆíÁý±â°¡ Ȱ¼ºÈµÇ¸é ÀÌ ÆíÁý±â´Â ÆíÁý±â ƯÁ¤ Ű ¹ÙÀεùÀÌ È°¼ºÈµÇµµ·Ï ¹üÀ§¸¦ ¹®¼ ÆíÁý±â ¹üÀ§·Î Àç¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
Ç÷§Æû ÅØ½ºÆ® ÇÁ·¹ÀÓ¿öÅ©¿¡¼ °¢ ¹®¼ ÆíÁý±â ÀνºÅϽº¿¡´Â ¿¬°üµÈ Ű ¹ÙÀεù ¹üÀ§°¡ ÀÖ½À´Ï´Ù. Ȱ¼ºÈµÇ¸é ÀÌ ¹üÀ§¸¦ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. TextEditor´Â ÀÌ ¹üÀ§¸¦ Á¤ÀÇÇÏ¿© Ȱ¼ºÈµÇµµ·Ï ÇÕ´Ï´Ù. ¹üÀ§´Â ´ÙÀ½°ú °°ÀÌ »ý¼ºÀÚ¿¡¼ È£ÃâµÇ´Â ¸Þ¼Òµå¿¡ ÁöÁ¤µË´Ï´Ù.
protected void initializeKeyBindingScopes() { setKeyBindingScopes(new String[] { "org.eclipse.ui.textEditorScope" }); }
¸Þ¼ÒµåÀÇ Àμö´Â ¹®ÀÚ¿ Ű ¹ÙÀεù ¹üÀ§ IDÀÇ ¹è¿ÀÔ´Ï´Ù. ÆíÁý±â°¡ °íÀ¯ÇÑ Å° ¹ÙÀεù ¹üÀ§¸¦ Á¤ÀÇÇÏ°Ô ÇÏ·Á¸é setKeybindingScopes¸¦ »ç¿ëÇÏ¿© µ¿ÀûÀ¸·Î ¹üÀ§¸¦ ¼³Á¤Çϰųª ÆíÁý±â Ŭ·¡½º¿¡¼ ÀÌ ¸Þ¼Òµå¸¦ ´ëüÇÒ ¼ö ÀÖ½À´Ï´Ù.
¹üÀ§ ÀÚü´Â org.eclipse.ui.commands È®ÀåÁ¡¿¡¼ ÇØ´ç ID·Î Á¤ÀǵǾî¾ß ÇÕ´Ï´Ù. ´ÙÀ½Àº ¹®¼ ÆíÁý±â ¹üÀ§¿¡ ´ëÇÑ Á¤ÀÇÀÔ´Ï´Ù.
<extension point="org.eclipse.ui.commands"> ... <scope name="%scope.text.name" parent="org.eclipse.ui.globalScope" description="%scope.text.description" id="org.eclipse.ui.textEditorScope"> </scope> </extension>