【问题标题】:Persistent storage in IntelliJ pluginIntelliJ 插件中的持久存储
【发布时间】:2016-06-26 10:18:55
【问题描述】:

我正在开发一个 IntelliJ 插件,我想将一些设置信息存储为字符串。我怎样才能存储它?我发现PersistentStateComponent<T> 就是为了这个目的,但是我没有发现这个类的任何工作和简单的使用。

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

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

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

谢谢!

【问题讨论】:

    标签: java intellij-idea intellij-plugin persistent-storage


    【解决方案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);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-27
      • 2012-02-02
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多