Project project = editor.getProject(); if (project != null) { VirtualFile root = ProjectRootManager.getInstance(project).getFileIndex().getContentRootForFile(vf); if (root != null) { msg.append(vf.getPath().substring(root.getPath().length() + 1));
private static boolean isInSource(@NotNull final PsiFile psiFile, final PluginConfigurationManager pluginConfig) { return pluginConfig.getCurrent().getScanScope() == ScanScope.Everything || ProjectFileIndex.SERVICE.getInstance(psiFile.getProject()).isInSourceContent(psiFile.getVirtualFile()); }
private AliasCache getAliasCache(VirtualFile file) { ProjectFileIndex fileIndex = TreeNavigator.INSTANCE.getProjectFileIndex(project); Module module = fileIndex.getModuleForFile(file); return module == null ? null : AliasCache.getCache(module); }
new ArrayList<>(FilenameIndex.getVirtualFilesByName(project, targetFile, ProjectScope.getProjectScope(project))); Collections.sort(files, (f1, f2) -> { boolean b1 = fileIndex.isInSource(f1); boolean b2 = fileIndex.isInSource(f2); if (b1 != b2) return b1 ? -1 : 1; return Comparing.compare(f1.getPath().length(), f2.getPath().length()); }); for (VirtualFile file : files) { String existingFilePackage = fileIndex.getPackageNameByDirectory(file.getParent()); if (!hasPackage || existingFilePackage == null || targetPackage.equals(existingFilePackage)) { existingFile = file; fileIndex.isInSourceContent(existingFile) ? fileIndex.getSourceRootForFile(existingFile) : fileIndex.isInContent(existingFile) ? fileIndex.getContentRootForFile(existingFile) : null; VirtualFile[] contentRoots = rootManager.getContentRoots(); final VirtualFile virtualRoot = existingFileRoot != null ? existingFileRoot : preferSourceRoot && fileIndex.isInSource(sourceFile) ? fileIndex.getSourceRootForFile(sourceFile) : fileIndex.isInContent(sourceFile) ? fileIndex.getContentRootForFile(sourceFile) : getFirstElement(preferSourceRoot && sourceRoots.length > 0? sourceRoots : contentRoots); if (virtualRoot == null) { boolean newGenRoot = !fileIndex.isInSourceContent(virtualRoot); final String relativePath = (hasPackage && newGenRoot ? genDirName + "/" + targetPackage : hasPackage ? targetPackage :
private boolean isFileInRoots(@NotNull final VirtualFile file) { Validate.notNull(file); final ProjectFileIndex index = ProjectRootManager.getInstance(this.project).getFileIndex(); return index.isInSource(file) || index.isInLibraryClasses(file); }
private boolean isPsiFileInProject(Project project, PsiFile psiFile) { boolean inProject = ProjectRootManager.getInstance(project) .getFileIndex().isInContent(psiFile.getVirtualFile()); if (!inProject) { LOGGER.info("File " + psiFile + " not in current project " + project); } return inProject; }
if (psiFile != null) { final VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile != null && !fileIndex.isInSource(virtualFile)) { final List<OrderEntry> list = fileIndex.getOrderEntriesForFile(virtualFile); for (OrderEntry entry : list) { if (entry instanceof JdkOrderEntry) {
final ProjectFileIndex projectFileIndex = ProjectFileIndex.SERVICE.getInstance(project); if (projectFileIndex != null) { if (!projectFileIndex.isInSourceContent(selectedFile)) { selectedFile = null; if (projectFileIndex.isInTestSourceContent(selectedFile)) { selectedFile = null;
private Result checkFileInSourceFolders(VirtualFile file, Module module) { ProjectFileIndex fileIndex = projectRootManager.getFileIndex(); if (fileIndex.isExcluded(file)) { return Result.excluded("file is excluded or ignored in IntelliJ's project structure"); } SourceFolder sourceFolder = SonarLintUtils.getSourceFolder(fileIndex.getSourceRootForFile(file), module); if (sourceFolder != null) { if (SonarLintUtils.isGeneratedSource(sourceFolder)) { return Result.excluded("file is classified as generated in IntelliJ's project structure"); } if (SonarLintUtils.isJavaResource(sourceFolder)) { return Result.excluded("file is classified as resource in IntelliJ's project structure"); } } // the fact that the file doesn't explicitly belong to sources doesn't mean it's not sources. // In WebStorm, for example, everything is considered to be sources unless it is explicitly marked otherwise. return Result.notExcluded(); }
public static boolean isInDLanguageSdkOrDLanguagePackagesFolder(final @NotNull Project project, final @NotNull VirtualFile file) { final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex(); if (fileIndex.isInLibraryClasses(file)) { return true; // file in SDK or in custom package root } // if (fileIndex.isExcluded(file) || (fileIndex.isInContent(file) && isInDartPackagesFolder(fileIndex, file))) { // return true; // symlinked child of 'packages' folder. Real location is in user cache folder for Dart packages, not in project // } return false; }
package_ = ProjectRootManager.getInstance(project).getFileIndex().getPackageNameByDirectory(vfile.getParent()); if ( Strings.isNullOrEmpty(package_)) { package_ = MISSING;
private NamespaceCache getNamespaceCache(VirtualFile file) { if (disposed) { return null; } ProjectFileIndex fileIndex = TreeNavigator.INSTANCE.getProjectFileIndex(project); Module module = fileIndex.getModuleForFile(file); return module == null ? null : NamespaceCache.getCache(module); }
@Nullable public static VirtualFile getRunnableDFileFromContext(final @NotNull ConfigurationContext context) { final PsiElement psiLocation = context.getPsiLocation(); final PsiFile psiFile = psiLocation == null ? null : psiLocation.getContainingFile(); final VirtualFile virtualFile = getRealVirtualFile(psiFile); if ((psiFile instanceof DlangFile) && virtualFile != null && ProjectRootManager.getInstance(context.getProject()).getFileIndex().isInContent(virtualFile) && !DlangWritingAccessProvider.isInDLanguageSdkOrDLanguagePackagesFolder(psiFile.getProject(), virtualFile)) { // dont try to run this producer if is a test file if (isDunitTestFile(psiFile)) { return null; } else { return virtualFile; } } return null; }
private DelegatePackageCache getDelegatePackageCache(VirtualFile file) { if (disposed) { return null; } ProjectFileIndex fileIndex = TreeNavigator.INSTANCE.getProjectFileIndex(project); Module module = fileIndex.getModuleForFile(file); return module == null ? null : DelegatePackageCache.getCache(module); }
@Nullable public static VirtualFile getRunnableDFileFromContext(final @NotNull ConfigurationContext context) { final PsiElement psiLocation = context.getPsiLocation(); final PsiFile psiFile = psiLocation == null ? null : psiLocation.getContainingFile(); final VirtualFile virtualFile = getRealVirtualFile(psiFile); if ((psiFile instanceof DlangFile) && virtualFile != null && ProjectRootManager.getInstance(context.getProject()).getFileIndex().isInContent(virtualFile) && !DlangWritingAccessProvider.isInDLanguageSdkOrDLanguagePackagesFolder(psiFile.getProject(), virtualFile)) { // only run this producer if is test file if (DUtil.isDunitTestFile(psiFile)) { return virtualFile; } else { return null; } } return null; }
public static VirtualFile getContentRoot(Project project, VirtualFile vfile) { VirtualFile root = ProjectRootManager.getInstance(project) .getFileIndex().getContentRootForFile(vfile); if ( root!=null ) return root; return vfile.getParent(); }
@CheckForNull public Module findModuleForFile(VirtualFile file, Project project) { ApplicationManager.getApplication().assertReadAccessAllowed(); return ProjectFileIndex.SERVICE.getInstance(project).getModuleForFile(file, false); }
@Override public void apply( @NotNull final PsiFile file, final AnnotationResult annotationResult, @NotNull final AnnotationHolder holder ) { if ( null == file.getVirtualFile() || null == ProjectFileIndex.SERVICE.getInstance(file.getProject()).getContentRootForFile(file.getVirtualFile()) || ( // Fixes #106: Annotations in PHPStorm shown twice per File "html".equalsIgnoreCase(file.getFileType().getName()) && "php".equalsIgnoreCase(file.getVirtualFile().getExtension())) ) { return; } createAnnotations(file,annotationResult,holder); }
void getModulesToSearch(@NotNull PsiElement element, @NotNull Set<Module> modules) { ProjectFileIndex fileIndex = TreeNavigator.INSTANCE.getProjectFileIndex(element.getProject()); VirtualFile virtualFile = element.getContainingFile().getVirtualFile(); if (virtualFile != null) { Module module = fileIndex.getModuleForFile(virtualFile); if (module != null && !modules.contains(module)) { modules.add(module); collectModuleDependencies(module, modules); } } }
@Override public void fileOpenedSync(@NotNull FileEditorManager source, @NotNull VirtualFile file, @NotNull Pair<FileEditor[], FileEditorProvider[]> editors) { if (file.getName().endsWith(ProtoFileType.INSTANCE.getDefaultExtension())) { Project project = source.getProject(); Module module = ProjectRootManager.getInstance(project).getFileIndex().getModuleForFile(file); if (module == null) { return; } addLibrary(module); } } });