From b3c84d95907b0139cf64b5b669c1d499a76cdbbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Mon, 27 Nov 2023 18:49:34 +0800 Subject: [PATCH] refresh project view --- .../linwancen/plugin/show/ext/conf/ConfCache.java | 11 +++++++++-- .../plugin/show/ext/conf/ConfFileChangeListener.java | 2 +- .../plugin/show/ext/conf/ConfFileListener.java | 2 +- .../plugin/show/ext/conf/ReloadExtDocAction.java | 2 -- .../plugin/show/ext/conf/ResetExtDocAction.java | 2 -- 5 files changed, 11 insertions(+), 8 deletions(-) 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); }