IntelliJ 插件中的持久存储

Persistent storage in IntelliJ plugin

我正在开发一个 IntelliJ 插件,我想将一些设置信息存储为一个字符串。我怎样才能存储它?我发现 PersistentStateComponent<T> 就是为了这个目的,但我没有发现这个 class.

的任何工作和简单使用

能否请您提供一些信息,我如何才能创建一个 class 只有一个字符串参数和方法,例如:

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

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

谢谢!

这是一个简单的例子:

实施 applicationService 扩展点

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

然后设置实现几乎就是样板文件,您只需在设置 class 上为要存储的所有设置创建字段。

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