public static IEnumerable <string> AllItemsInProject(IVsProject project) { if (project == null) { throw new ArgumentNullException("project"); } string projectDir = Path.GetDirectoryName(ProjectUtilities.GetProjectFilePath(project)); IVsHierarchy hierarchy = project as IVsHierarchy; return (ChildrenOf(hierarchy, VSConstants.VSITEMID.Root) .Select( id => { string name = null; project.GetMkDocument((uint)id, out name); if (name != null && name.Length > 0 && !Path.IsPathRooted(name)) { name = AbsolutePathFromRelative(name, projectDir); } return name; }) .Where(File.Exists)); }
void GatherProjectInfo(IEnumerable <IVsProject> projects, string searchingWord) { _projectsToScan.Clear(); _totalFiles = 0; _projectList.Clear(); int projectNumber = 0; foreach (IVsProject project in projects) { _projectList.Insert(projectNumber, project); projectNumber++; List <string> filesToScan = new List <string>(); List <string> termTableFiles = new List <string>(); filesToScan.AddRange(ProjectUtilities.AllItemsInProject(project)); _totalFiles += (uint)filesToScan.Count; _projectsToScan.Add(new ProjectConfiguration(filesToScan, searchingWord, ProjectUtilities.GetProjectFilePath(project))); } }