public async Task HintingAsync(IProjectChangeHint hint) { // This will only be called once even if you are adding multiple files from say, e.g. add existing item dialog // However we check to see if we captured the previous includes for sanity to ensure it only gets set once. if (CanMove() && _previousIncludes.IsEmpty) { ConfiguredProject configuredProject = hint.UnconfiguredProject.Services.ActiveConfiguredProjectProvider.ActiveConfiguredProject; _previousIncludes = await OrderingHelper.GetAllEvaluatedIncludes(configuredProject, _accessor).ConfigureAwait(false); _isHinting = true; } }
public async Task HintedAsync(IImmutableDictionary <Guid, IImmutableSet <IProjectChangeHint> > hints) { if (CanMove() && !_previousIncludes.IsEmpty && hints.ContainsKey(ProjectChangeFileSystemEntityHint.AddedFile)) { IProjectChangeHint hint = hints[ProjectChangeFileSystemEntityHint.AddedFile].First(); ConfiguredProject configuredProject = hint.UnconfiguredProject.Services.ActiveConfiguredProjectProvider.ActiveConfiguredProject; await OrderingHelper.Move(configuredProject, _accessor, _previousIncludes, _target, _action).ConfigureAwait(false); } // Reset everything because we are done. // We need to make sure these are all reset so we can listen for changes again. Reset(); }
public async Task HintedAsync(IImmutableDictionary <Guid, IImmutableSet <IProjectChangeHint> > hints) { if (CanMove() && !_previousIncludes.IsEmpty && hints.TryGetValue(ProjectChangeFileSystemEntityHint.AddedFile, out IImmutableSet <IProjectChangeHint> addedFileHints)) { IProjectChangeHint hint = addedFileHints.First(); ConfiguredProject? configuredProject = hint.UnconfiguredProject.Services.ActiveConfiguredProjectProvider.ActiveConfiguredProject; Assumes.NotNull(configuredProject); await OrderingHelper.Move(configuredProject, _accessor, _previousIncludes, _target !, _action); } // Reset everything because we are done. // We need to make sure these are all reset so we can listen for changes again. Reset(); }
public Task HintingAsync(IProjectChangeHint hint) { return(Task.CompletedTask); }