public static async Task <RestoreOperationProgressUI> StartAsync( IServiceProvider serviceProvider, JoinableTaskFactory jtf, CancellationToken token) { return(await jtf.RunAsync(async() => { await NuGetUIThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); var statusBar = serviceProvider.GetService <SVsStatusbar, IVsStatusbar>(); // Make sure the status bar is not frozen int frozen; statusBar.IsFrozen(out frozen); if (frozen != 0) { statusBar.FreezeOutput(0); } statusBar.Animation(1, ref icon); RestoreOperationProgressUI progress = new StatusBarProgress(statusBar, jtf); progress.ReportProgress(Resources.RestoringPackages); return progress; })); }
public static async Task <RestoreOperationProgressUI> StartAsync( IAsyncServiceProvider asyncServiceProvider, JoinableTaskFactory jtf, CancellationToken token) { await jtf.SwitchToMainThreadAsync(); var statusBar = await asyncServiceProvider.GetServiceAsync <SVsStatusbar, IVsStatusbar>(); // Make sure the status bar is not frozen int frozen; statusBar.IsFrozen(out frozen); if (frozen != 0) { statusBar.FreezeOutput(0); } statusBar.Animation(1, ref Icon); RestoreOperationProgressUI progress = new StatusBarProgress(statusBar, jtf); await progress.ReportProgressAsync(Resources.RestoringPackages); return(progress); }
public async Task StartAsync( RestoreOperationSource operationSource, Lazy <ErrorListTableDataSource> errorListDataSource, JoinableTaskFactory jtf, CancellationTokenSource cts) { Assumes.Present(errorListDataSource); Assumes.Present(jtf); Assumes.Present(cts); _operationSource = operationSource; _errorListDataSource = errorListDataSource; _jtc = jtf.Context.CreateCollection(); _taskFactory = jtf.Context.CreateFactory(_jtc); _externalCts = cts; _externalCts.Token.Register(() => _cancelled = true); #if VS14 _progressFactory = t => WaitDialogProgress.StartAsync(_serviceProvider, _taskFactory, t); #else _progressFactory = t => StatusBarProgress.StartAsync(_serviceProvider, _taskFactory, t); #endif await _taskFactory.RunAsync(async() => { await _taskFactory.SwitchToMainThreadAsync(); OutputVerbosity = GetMSBuildOutputVerbositySetting(); switch (_operationSource) { case RestoreOperationSource.Implicit: // background auto-restore _outputConsole = _outputConsoleProvider.CreatePackageManagerConsole(); break; case RestoreOperationSource.OnBuild: _outputConsole = _outputConsoleProvider.CreateBuildOutputConsole(); _outputConsole.Activate(); break; case RestoreOperationSource.Explicit: _outputConsole = _outputConsoleProvider.CreatePackageManagerConsole(); _outputConsole.Activate(); _outputConsole.Clear(); break; } }); if (_errorListDataSource.IsValueCreated) { // Clear old entries _errorListDataSource.Value.ClearNuGetEntries(); } }
public async Task StartAsync( RestoreOperationSource operationSource, Lazy <INuGetErrorList> errorList, JoinableTaskFactory jtf, CancellationTokenSource cts) { Assumes.Present(errorList); Assumes.Present(jtf); Assumes.Present(cts); _operationSource = operationSource; _errorList = errorList; _jtc = jtf.Context.CreateCollection(); _taskFactory = jtf.Context.CreateFactory(_jtc); _externalCts = cts; _externalCts.Token.Register(() => _cancelled = true); _progressFactory = t => StatusBarProgress.StartAsync(_asyncServiceProvider, _taskFactory, t); await _taskFactory.RunAsync(async() => { OutputVerbosity = await GetMSBuildOutputVerbositySettingAsync(); switch (_operationSource) { case RestoreOperationSource.Implicit: // background auto-restore _outputConsole = await _outputConsoleProvider.Value.CreatePackageManagerConsoleAsync(); break; case RestoreOperationSource.OnBuild: _outputConsole = await _outputConsoleProvider.Value.CreateBuildOutputConsoleAsync(); await _outputConsole.ActivateAsync(); break; case RestoreOperationSource.Explicit: _outputConsole = await _outputConsoleProvider.Value.CreatePackageManagerConsoleAsync(); await _outputConsole.ActivateAsync(); await _outputConsole.ClearAsync(); break; } }); if (_errorList.IsValueCreated) { // Clear old entries _errorList.Value.ClearNuGetEntries(); } }