相关疑难解决方法(0)

IDEA 插件:PersistentStateComponent 不持久化 xml

我无法让我的插件保持其状态。文件 configProvider.xml 永远不会被创建,@State注释也没有任何效果(显然)。

这是 plugin.xml 中的相关部分

<extensions defaultExtensionNs="com.intellij">
    <applicationService serviceImplementation="my.plugins.idea.vcs.ConfigProvider" serviceInterface="my.plugins.idea.vcs.ConfigProvider"/>
</extensions>
Run Code Online (Sandbox Code Playgroud)

这是提供应该持久化的对象的类:

import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import java.util.LinkedHashMap;

@State(
  name = "ConfigProvider",
  storages = {
@Storage(id = "main", file = "$APP_CONFIG$/configProvider.xml") 
  }
)
public class ConfigProvider  implements PersistentStateComponent<ConfigProvider.State> {

  private State state = new State();

  class State {
    public State() {}
    public LinkedHashMap<String, String> commitTypes = null;
    public Integer selectedDefaultCommitTypeIndex = null;
    public String jiraApiUrl;
    public String jiraAuthorization;
    public String jiraFilterId;
  } 

  public …
Run Code Online (Sandbox Code Playgroud)

java xml intellij-idea intellij-plugin

2
推荐指数
1
解决办法
1359
查看次数

标签 统计

intellij-idea ×1

intellij-plugin ×1

java ×1

xml ×1