boolean (@NotNull VirtualFile file) { final PsiDirectory value = getValue(); if (value == null) { return false; } VirtualFile directory = value.getVirtualFile(); if (directory.getFileSystem() instanceof LocalFileSystem) { file = VfsUtil.getLocalFile(file); } if (!VfsUtilCore.isAncestor(directory, file, false)) { return false; } final Project project = value.getProject(); PsiFileSystemItemFilter filter = getFilter(); if (filter != null) { PsiFile psiFile = PsiManager.getInstance(project).findFile(file); if (psiFile != null && !filter.shouldShow(psiFile)) return false; PsiDirectory psiDirectory = PsiManager.getInstance(project).findDirectory(file); if (psiDirectory != null && !filter.shouldShow(psiDirectory)) return false; } if (Registry.is("ide.hide.excluded.files")) { final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex(); return !fileIndex.isExcluded(file); } else { return !FileTypeRegistry.getInstance().isFileIgnored(file); } }