From 982059fef42ed77c99fb8b66cd8508d8e2fca0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Wed, 3 Dec 2025 22:44:16 +0800 Subject: [PATCH] fix: ReadAction.nonBlocking not submit --- .../plugin/show/ext/listener/FileLoader.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/github/linwancen/plugin/show/ext/listener/FileLoader.java b/src/main/java/io/github/linwancen/plugin/show/ext/listener/FileLoader.java index f961b86..741a7cc 100644 --- a/src/main/java/io/github/linwancen/plugin/show/ext/listener/FileLoader.java +++ b/src/main/java/io/github/linwancen/plugin/show/ext/listener/FileLoader.java @@ -9,6 +9,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileVisitor; +import com.intellij.util.concurrency.AppExecutorUtil; import com.intellij.util.concurrency.EdtExecutorService; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -71,13 +72,15 @@ public abstract class FileLoader { public static void loadAll(@NotNull Project project) { DumbService.getInstance(project).runReadActionInSmartMode(() -> - ApplicationManager.getApplication().executeOnPooledThread(() -> - ReadAction.nonBlocking(() -> { - if (!project.isDisposed()) { - FileLoader.EPN.getExtensionList().forEach(fileLoader -> fileLoader.loadAllImpl(project)); - EdtExecutorService.getInstance().execute(() -> ProjectView.getInstance(project).refresh()); - } - }))); + ReadAction.nonBlocking(() -> { + if (!project.isDisposed()) { + FileLoader.EPN.getExtensionList() + .forEach(fileLoader -> fileLoader.loadAllImpl(project)); + EdtExecutorService.getInstance() + .execute(() -> ProjectView.getInstance(project).refresh()); + } + }).inSmartMode(project) + .submit(AppExecutorUtil.getAppExecutorService())); } public void visitChildrenRecursively(@NotNull Project project, @NotNull VirtualFile dir, @NotNull StringBuilder sb) {