как получить плагин PreferenceStore в сгенерированном XText плагине

Я пытаюсь расширить страницы настроек, сгенерированные XText для DSL. Мне удалось добавить новую страницу настроек, которая использует редакторы полей, но я не вижу, как получить экземпляр IPreferenceStore, чтобы отслеживать измененную конфигурацию, как описано в http://www.vogella.com/articles/EclipsePreferences/article.html


person Andrea Sindico    schedule 06.01.2013    source источник


Ответы (1)


IPreferenceStore можно внедрить (см. документацию):

        <page
            category="org.xtext.example.mydsl.MyDsl"
            class="org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory:org.xtext.example.mydsl.ui.MyPage"
            id="org.xtext.example.mydsl.MyDsl.coloring"
            name="MyPage">
            <keywordReference id="org.xtext.example.mydsl.ui.keyword_MyDsl"/>
        </page>

Например,

public class MyPage extends FieldEditorPreferencePage {
    @Inject
    public MyPage (IPreferenceStore preferenceStore) {
        setPreferenceStore(preferenceStore);
    }
}
person Marie-Saphira    schedule 13.07.2020