protected virtual bool IsFileItem([NotNull] EnvDTE.ProjectItem item) { Debug.ArgumentNotNull(item, nameof(item)); var project = ProjectManager.GetProject(item); if (project == null) { return(false); } var projectFile = project.GetProjectItem(item) as ProjectFileItem; if (projectFile != null) { var itemIds = projectFile.Items; if (itemIds.Count > 0) { return(false); } } var fileName = item.GetFileName(); if (string.IsNullOrEmpty(fileName)) { return(false); } return(string.Compare(Path.GetExtension(fileName), FileExtension, StringComparison.InvariantCultureIgnoreCase) == 0); }
public FolderSynchronizer GetSynchronizer([NotNull] ProjectBase project, [NotNull] EnvDTE.ProjectItem projectItem) { Assert.ArgumentNotNull(project, nameof(project)); Assert.ArgumentNotNull(projectItem, nameof(projectItem)); var sourceFolder = project.GetRelativeFileName(projectItem.GetFileName()); lock (syncObject) { return(Folders.FirstOrDefault(f => f.Project == project && string.Compare(f.SourceFolder, sourceFolder, StringComparison.InvariantCultureIgnoreCase) == 0)); } }
public string GetFolderFileName([NotNull] ProjectBase project, [NotNull] EnvDTE.ProjectItem item) { Assert.ArgumentNotNull(project, nameof(project)); Assert.ArgumentNotNull(item, nameof(item)); var result = project.GetRelativeFileName(item.GetFileName()); result = result.TrimStart('\\'); if (!result.EndsWith("\\")) { result += "\\"; } return(result); }