boolean (VirtualFile parent, Path child, String childName) { if (FileTypeManager.getInstance().isFileIgnored(childName)) return false; for (Project openProject : ProjectManager.getInstance().getOpenProjects()) { if (ReadAction.compute(() -> ProjectFileIndex.getInstance(openProject).isUnderIgnored(parent))) { return false; } String projectRootPath = openProject.getBasePath(); if (projectRootPath != null) { Path path = Path.of(projectRootPath); if (child.startsWith(path)) return true; } } return false; }