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