Example #1
0
        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);
        }