C# Class Microsoft.VisualStudio.ProjectSystem.FileSystemMirroring.Project.FileSystemMirroringProject

Inheritance: IFileSystemMirroringProjectTemporaryItems
Mostra file Open project: Microsoft/RTVS Class Usage Examples

Public Methods

Method Description
AddTemporaryDirectories ( ConfiguredProject configuredProject, IEnumerable directoriesToAdd ) : Task>
AddTemporaryFiles ( ConfiguredProject configuredProject, IEnumerable filesToAdd ) : Task>
CreateInMemoryImport ( ) : Task
FileSystemMirroringProject ( UnconfiguredProject unconfiguredProject, IProjectLockService projectLockService, MsBuildFileSystemWatcher fileSystemWatcher, IProjectItemDependencyProvider dependencyProvider, IActionLog log ) : System
UpdateFullPathAsync ( ProjectWriteLockReleaser access, CancellationToken cancellationToken = default(CancellationToken) ) : Task

Private Methods

Method Description
AddDirectories ( IReadOnlyCollection directoriesToAdd ) : void
AddFiles ( IReadOnlyCollection filesToAdd ) : void
AddTemporaryItems ( ConfiguredProject configuredProject, string itemType, IEnumerable itemPathsToAdd ) : Task>
CreateEmptyMsBuildProject ( string projectFilePath, Microsoft.Build.Evaluation.ProjectCollection collection ) : Microsoft.Build.Construction.ProjectRootElement

Helper used to create the empty project file. Note that we need to set the IsExplicitlyLoaded property on the ProjectRootElement to true to make sure it is not cleared from the ProjectRootElementCache. Unfortuantely, the constructure which creates a new empty project does not set this flag. However, the one which can be created from an XmlReader does. So we use that one to create the project file in memory and then set the path to make sure it is added correctly to the cache.

FileSystemChanged ( MsBuildFileSystemWatcher changeset ) : Task
FileSystemMirroringProject ( ) : System
ReevaluateLoadedConfiguredProjects ( CancellationToken cancellationToken, ProjectWriteLockReleaser access ) : Task
RemoveDirectories ( IReadOnlyCollection directoriesToRemove, ProjectWriteLockReleaser access ) : Task
RemoveFiles ( HashSet filesToRemove, ProjectWriteLockReleaser access ) : Task
RemoveItem ( Microsoft.Build.Construction.ProjectItemGroupElement parent, ProjectItemElement>.Dictionary items, string path ) : void
RemoveItems ( Microsoft.Build.Construction.ProjectItemGroupElement parent, ProjectItemElement>.Dictionary items, IReadOnlyCollection itemsToRemove, ProjectWriteLockReleaser access ) : Task
RemoveItems ( Microsoft.Build.Construction.ProjectItemGroupElement parent, ProjectItemElement>.Dictionary items, string directoryName, ProjectWriteLockReleaser access ) : Task
RenameDirectories ( string>.IReadOnlyDictionary directoriesToRename, ProjectWriteLockReleaser access ) : Task
RenameFiles ( string>.IReadOnlyDictionary filesToRename, ProjectWriteLockReleaser access ) : Task
RenameItems ( ProjectItemElement>.Dictionary items, string>.IReadOnlyDictionary itemsToRename, ProjectWriteLockReleaser access ) : Task
RenameItems ( ProjectItemElement>.Dictionary items, string oldDirectoryName, string newDirectoryName, ProjectWriteLockReleaser access ) : Task

Method Details

AddTemporaryDirectories() public method

public AddTemporaryDirectories ( ConfiguredProject configuredProject, IEnumerable directoriesToAdd ) : Task>
configuredProject ConfiguredProject
directoriesToAdd IEnumerable
return Task>

AddTemporaryFiles() public method

public AddTemporaryFiles ( ConfiguredProject configuredProject, IEnumerable filesToAdd ) : Task>
configuredProject ConfiguredProject
filesToAdd IEnumerable
return Task>

CreateInMemoryImport() public method

public CreateInMemoryImport ( ) : Task
return Task

FileSystemMirroringProject() public method

public FileSystemMirroringProject ( UnconfiguredProject unconfiguredProject, IProjectLockService projectLockService, MsBuildFileSystemWatcher fileSystemWatcher, IProjectItemDependencyProvider dependencyProvider, IActionLog log ) : System
unconfiguredProject UnconfiguredProject
projectLockService IProjectLockService
fileSystemWatcher Microsoft.VisualStudio.ProjectSystem.FileSystemMirroring.IO.MsBuildFileSystemWatcher
dependencyProvider IProjectItemDependencyProvider
log IActionLog
return System

UpdateFullPathAsync() public method

public UpdateFullPathAsync ( ProjectWriteLockReleaser access, CancellationToken cancellationToken = default(CancellationToken) ) : Task
access ProjectWriteLockReleaser
cancellationToken System.Threading.CancellationToken
return Task