idea编写插件时,如果需要用到设置项,可以实现PersistentStateComponent并持久化state配置,同时配合注解
@State(name = "com.xxx.OptionalSettings", storages = {@Storage("xxx.xml")})
public class OptionalSettings implements PersistentStateComponent<OptionalSettings > {
@Nullable
@Override
public OptionalSettings getState() {
return this;
}
@Override
public void loadState(@NotNull OptionalSettings optionalSettings) {
XmlSerializerUtil.copyBean(optionalSettings, this);
}
}
此时这里的注解
@State(name = "com.xxx.OptionalSettings", storages = {@Storage("xxx.xml")})
@Storage("xxx.xml")存储的位置为idea的设置存储目录,
首先找到idea的安装目录,查看一下配置的存储目录,例如我的存储目录是
D:\Program Files\JetBrains\IntelliJ IDEA 2019.1\bin
找到idea.properties 文件,找到
idea.config.path=${user.home}/.IntelliJIdea/config
idea.system.path=${user.home}/.IntelliJIdea/system
其中idea.config.path=${user.home}/.IntelliJIdea/config就是idea的配置存储路径,对应到c盘就是window下的用户文件夹
C:\Users\{用户名}\.IntelliJIdea2019.1\config\options
注解声明的 storages = {@Storage("xxx.xml")的xml文件就在这里