2016-03-11 3 views
2

Я разрабатываю плагин IntelliJ, и я хотел бы сохранить некоторые данные настроек в виде строки. Как я могу его хранить? Я обнаружил, что для этой цели PersistentStateComponent<T>, но я не нашел никакого рабочего и простого использования этого класса.Постоянное хранилище в плагине IntelliJ

Не могли бы вы предоставить некоторую информацию, как я смог создать класс только один строковый аргумент и методы, как:

 Void Save(String value) 
    { 
     //save SettingsAsString 
    { 

    String Load() 
    { 
     //Do something 
     return savedSettingsAsString 
    } 

Спасибо!

ответ

1

Вот простой пример:

Реализовать точку applicationService расширения

<applicationService serviceImplementation="com.sylvanaar.idea.Lua.options.LuaApplicationSettings"/>

Тогда реализация настроек в значительной степени шаблонный, вы просто создать поля на класс настройки для всех настроек хочу хранить.

public class LuaApplicationSettings implements PersistentStateComponent<LuaApplicationSettings> { 
public boolean INCLUDE_ALL_FIELDS_IN_COMPLETIONS = false; 
public boolean SHOW_TAIL_CALLS_IN_GUTTER = true; 
public boolean ENABLE_TYPE_INFERENCE = true; 

@Override 
public LuaApplicationSettings getState() { 
    return this; 
} 

@Override 
public void loadState(LuaApplicationSettings state) { 
    XmlSerializerUtil.copyBean(state, this); 
} 

public static LuaApplicationSettings getInstance() { 
    return ServiceManager.getService(LuaApplicationSettings.class); 
} 

}

+0

Спасибо! Это сработало – Compoo

Смежные вопросы