fix: ReadAction.nonBlocking not submit
This commit is contained in:
@@ -9,6 +9,7 @@ import com.intellij.openapi.project.Project;
|
|||||||
import com.intellij.openapi.vfs.VfsUtil;
|
import com.intellij.openapi.vfs.VfsUtil;
|
||||||
import com.intellij.openapi.vfs.VirtualFile;
|
import com.intellij.openapi.vfs.VirtualFile;
|
||||||
import com.intellij.openapi.vfs.VirtualFileVisitor;
|
import com.intellij.openapi.vfs.VirtualFileVisitor;
|
||||||
|
import com.intellij.util.concurrency.AppExecutorUtil;
|
||||||
import com.intellij.util.concurrency.EdtExecutorService;
|
import com.intellij.util.concurrency.EdtExecutorService;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
@@ -71,13 +72,15 @@ public abstract class FileLoader {
|
|||||||
|
|
||||||
public static void loadAll(@NotNull Project project) {
|
public static void loadAll(@NotNull Project project) {
|
||||||
DumbService.getInstance(project).runReadActionInSmartMode(() ->
|
DumbService.getInstance(project).runReadActionInSmartMode(() ->
|
||||||
ApplicationManager.getApplication().executeOnPooledThread(() ->
|
ReadAction.nonBlocking(() -> {
|
||||||
ReadAction.nonBlocking(() -> {
|
if (!project.isDisposed()) {
|
||||||
if (!project.isDisposed()) {
|
FileLoader.EPN.getExtensionList()
|
||||||
FileLoader.EPN.getExtensionList().forEach(fileLoader -> fileLoader.loadAllImpl(project));
|
.forEach(fileLoader -> fileLoader.loadAllImpl(project));
|
||||||
EdtExecutorService.getInstance().execute(() -> ProjectView.getInstance(project).refresh());
|
EdtExecutorService.getInstance()
|
||||||
}
|
.execute(() -> ProjectView.getInstance(project).refresh());
|
||||||
})));
|
}
|
||||||
|
}).inSmartMode(project)
|
||||||
|
.submit(AppExecutorUtil.getAppExecutorService()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void visitChildrenRecursively(@NotNull Project project, @NotNull VirtualFile dir, @NotNull StringBuilder sb) {
|
public void visitChildrenRecursively(@NotNull Project project, @NotNull VirtualFile dir, @NotNull StringBuilder sb) {
|
||||||
|
|||||||
Reference in New Issue
Block a user