fix(ConfFileInitListener): loop when projectOpened

This commit is contained in:
林万程
2024-09-09 23:37:56 +08:00
parent 151b53d5b1
commit 8788447aa0

View File

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