Eclipse plugin Eclipse插件:语法重新排序

Eclipse plugin Eclipse插件:语法重新排序,eclipse-plugin,Eclipse Plugin,我有一个用于我自己语言的costum编辑器,我想在它们之间从属性菜单进行更改,并相应地重新命名语法。我不知道我是否需要使用对账器或其他东西。重新存储语法的唯一方法是关闭和打开当前文件 在编辑器中,您需要从首选项存储中侦听属性更改事件 在您的initializeEditor方法调用中setPreferenceStore(preferenceStore) 覆盖handleReferenceStoreChanged方法: @覆盖 受保护的无效HandleReferenceStoreChanged(Pr

我有一个用于我自己语言的costum编辑器,我想在它们之间从属性菜单进行更改,并相应地重新命名语法。我不知道我是否需要使用对账器或其他东西。重新存储语法的唯一方法是关闭和打开当前文件

在编辑器中,您需要从首选项存储中侦听属性更改事件

在您的
initializeEditor
方法调用中
setPreferenceStore(preferenceStore)

覆盖
handleReferenceStoreChanged
方法:

@覆盖
受保护的无效HandleReferenceStoreChanged(PropertyChangeEvent事件)
{
//受事件影响的TODO更新设置
//TODO如果需要,请使当前演示文稿无效以更新颜色
getSourceViewer().invalidateTextPresentation();
super.handleReferenceStoreChanged(事件);
}
您需要添加代码来查看属性更改事件,以查看它是否是您需要处理的事件。如果事件更改了需要重新绘制文本的内容(例如更改颜色),请调用
getSourceViewer().invalidateTextPresentation()

要支持所有普通文本编辑器首选项,您需要在
setPreferenceStore
调用中使用链接首选项存储:

ipreferencestoregeneraltextstore=EditorsUI.getPreferenceStore();
IPreferenceStore yourPreferenceStore=获取您的首选项存储
IPreferenceStore combinedPreferenceStore=新的ChainedPreferenceStore(新的IPreferenceStore[]{yourPreferenceStore,generalTextStore});
设置首选项存储(组合首选项存储);