diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/listener/ConfFileInitListener.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/listener/ConfFileInitListener.java index dfd9a16..60c7905 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/listener/ConfFileInitListener.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/listener/ConfFileInitListener.java @@ -7,6 +7,8 @@ import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Arrays; + /** * call ConfCache.loadAll */ @@ -17,6 +19,13 @@ public class ConfFileInitListener implements ProjectManagerListener { @Override public void projectOpened(@NotNull Project project) { try { + StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); + boolean isInLoadAll = Arrays.stream(stackTrace).anyMatch(stack -> + stack.getMethodName().equals("loadAll") + && stack.getClassName().equals(ConfCache.class.getName())); + if (isInLoadAll) { + return; + } ConfCache.loadAll(project); } catch (Throwable e) { LOG.info("ConfFileInitListener catch Throwable but log to record.", e);