diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCache.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCache.java index d33f42e..7edea19 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCache.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfCache.java @@ -1,5 +1,6 @@ package io.github.linwancen.plugin.show.ext.conf; +import com.intellij.ide.projectView.ProjectView; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; @@ -127,12 +128,18 @@ public class ConfCache { if (files.isEmpty()) { return; } + ProjectView.getInstance(project).refresh(); LOG.info("Ext doc conf load all complete {} files\n{}", files.size(), sb); }); } - static void loadFile(@NotNull VirtualFile file) { - ApplicationManager.getApplication().invokeLater(() -> ConfCache.load(file)); + static void loadFile(@NotNull VirtualFile file, @Nullable Project project) { + ApplicationManager.getApplication().invokeLater(() -> { + ConfCache.load(file); + if (project != null) { + ProjectView.getInstance(project).refresh(); + } + }); } private static void load(@NotNull VirtualFile file) { diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileChangeListener.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileChangeListener.java index bd7f86b..694b672 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileChangeListener.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileChangeListener.java @@ -23,7 +23,7 @@ public class ConfFileChangeListener implements FileEditorManagerListener { } if (file.exists()) { try { - ConfCache.loadFile(file); + ConfCache.loadFile(file, event.getManager().getProject()); } catch (Throwable e) { LOG.info("ConfFileChangeListener catch Throwable but log to record.", e); } diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileListener.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileListener.java index 9942637..b0a6b35 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileListener.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ConfFileListener.java @@ -68,6 +68,6 @@ public class ConfFileListener implements BulkFileListener { } // VFileCreateEvent // VFileContentChangeEvent - ConfCache.loadFile(file); + ConfCache.loadFile(file, null); } } diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ReloadExtDocAction.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ReloadExtDocAction.java index 742f983..9a5c3f8 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ReloadExtDocAction.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ReloadExtDocAction.java @@ -31,8 +31,6 @@ public class ReloadExtDocAction extends DumbAwareAction { return; } ConfCache.loadAll(project); - ApplicationManager.getApplication().invokeLater(() -> - ProjectView.getInstance(project).refresh()); } catch (Throwable t) { LOG.info("ReloadExtDocAction catch Throwable but log to record.", t); } diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ResetExtDocAction.java b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ResetExtDocAction.java index 93e9a2d..dee67e0 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/conf/ResetExtDocAction.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/conf/ResetExtDocAction.java @@ -32,8 +32,6 @@ public class ResetExtDocAction extends AnAction { if (project == null) { return; } - ApplicationManager.getApplication().invokeLater(() -> - ProjectView.getInstance(project).refresh()); } catch (Throwable t) { LOG.info("ConfFileChangeListener catch Throwable but log to record.", t); }