private List <CodeDocument> GetProjectItemFiles(ProjectItems items) { List <CodeDocument> files = new List <CodeDocument>(); foreach (ProjectItem item in items) { if (item.SubProject != null) { files = files.Union(GetProjectItemFiles(item.ProjectItems)).ToList(); } else if (item.ProjectItems != null && item.ProjectItems.Count > 0) { files = files.Union(GetProjectItemFiles(item.ProjectItems)).ToList(); } else { string fileName = item.Name; string extension = Path.GetExtension(fileName); if (allowedExtensions.Contains(extension) == true) { //AC Note: This will not save an unopened file. Is this desired behavior? if (item.Document != null) { files.Add((CodeDocument)DocumentFactory.FromDteDocument(item.Document)); } } } } return(files); }
public override void DocumentSaved(Document document) { base.DocumentSaved(document); SaveEvent save = new SaveEvent(); save.EventDate = DateTime.UtcNow; save.SolutionName = dte.Solution.FullName; save.Document = (CodeDocument)DocumentFactory.FromDteDocument(document); //let others know that we have a new event NotifyEventCreated(this, new EventCreatedArgs(save)); }