From ede9c8e272cb720ee84d610562ac3015e49d8be0 Mon Sep 17 00:00:00 2001 From: Liudmila Kornilova Date: Mon, 18 Aug 2025 18:26:59 +0200 Subject: [PATCH] IJPL-202118 always show project roots in Project View GitOrigin-RevId: 7b8b9e2834552cd960204097aefcff8edc65b9b5 --- .../impl/nodes/ProjectViewProjectNode.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewProjectNode.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewProjectNode.java index b5829b0f8713..486a6f08eb91 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewProjectNode.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewProjectNode.java @@ -5,8 +5,8 @@ import com.intellij.ide.projectView.ViewSettings; import com.intellij.ide.projectView.impl.ModuleGroup; import com.intellij.ide.projectView.impl.ProjectRootsUtil; import com.intellij.ide.util.treeView.AbstractTreeNode; -import com.intellij.openapi.module.Module; import com.intellij.openapi.module.*; +import com.intellij.openapi.module.Module; import com.intellij.openapi.module.impl.LoadedModuleDescriptionImpl; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VfsUtilCore; @@ -47,11 +47,11 @@ public class ProjectViewProjectNode extends AbstractProjectNode { List projectRoots = ProjectRootUtilsKt.getProjectRoots(project); // top level roots but not under project roots - List topLevelContentRoots = ContainerUtil + List topLevelRootsOutsideOfProjectRoots = ContainerUtil .filter(projectViewHelper.getTopLevelRoots(), topLevelRoot -> !VfsUtilCore.isUnderFiles(topLevelRoot, projectRoots)); - Set modules = new LinkedHashSet<>(topLevelContentRoots.size()); - for (VirtualFile root : topLevelContentRoots) { + Set modules = new LinkedHashSet<>(topLevelRootsOutsideOfProjectRoots.size()); + for (VirtualFile root : topLevelRootsOutsideOfProjectRoots) { Module module = ModuleUtilCore.findModuleForFile(root, project); if (module != null) { modules.add(new LoadedModuleDescriptionImpl(module)); @@ -65,13 +65,11 @@ public class ProjectViewProjectNode extends AbstractProjectNode { } List> nodes = new ArrayList<>(modulesAndGroups(modules)); - if (!ContainerUtil.exists(nodes, node -> node instanceof ModuleGroupNode)) { - PsiManager psiManager = PsiManager.getInstance(project); - for (var projectRoot : projectRoots) { - var psiDirectory = psiManager.findDirectory(projectRoot); - if (psiDirectory != null) { - nodes.add(new PsiDirectoryNode(myProject, psiDirectory, getSettings())); - } + PsiManager psiManager = PsiManager.getInstance(project); + for (var projectRoot : projectRoots) { + var psiDirectory = psiManager.findDirectory(projectRoot); + if (psiDirectory != null) { + nodes.add(new PsiDirectoryNode(myProject, psiDirectory, getSettings())); } }