IntelliJ插件中的持久化存储

4
我正在开发一个IntelliJ插件,我想将一些设置信息存储为字符串。我该如何存储它?我发现 PersistentStateComponent<T> 可以实现此目的,但我没有找到使用这个类的有效和简单方法。
请提供一些信息,如何创建一个只有一个String参数的类,并带有以下方法:
     Void Save(String value)
    {
       //save SettingsAsString
    {

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

感谢您!
1个回答

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);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接