private static (VisualStudioWaitIndicator, Action cancel) CreateInstance(string title = "", string message = "", bool isCancelable = false) { var joinableTaskContext = new JoinableTaskContext(); var(threadedWaitDialogFactory, cancel) = IVsThreadedWaitDialogFactoryFactory.Create(title, message, isCancelable); var threadedWaitDialogFactoryService = IVsUIServiceFactory.Create <SVsThreadedWaitDialogFactory, IVsThreadedWaitDialogFactory>(threadedWaitDialogFactory); var instance = new VisualStudioWaitIndicator(joinableTaskContext, threadedWaitDialogFactoryService); return(instance, cancel); }
private static (VisualStudioWaitIndicator, Action cancel) CreateVisualStudioWaitIndicator(string title = "", string message = "", bool isCancelable = false) { var threadingService = IProjectThreadingServiceFactory.Create(); var(threadedWaitDialogFactory, cancel) = IVsThreadedWaitDialogFactoryFactory.Create(title, message, isCancelable); var threadedWaitDialogFactoryService = IVsServiceFactory.Create <SVsThreadedWaitDialogFactory, IVsThreadedWaitDialogFactory>(threadedWaitDialogFactory); var unconfiguredProject = UnconfiguredProjectFactory.Create(); var waitIndicator = new VisualStudioWaitIndicator(unconfiguredProject, threadingService, threadedWaitDialogFactoryService); return(waitIndicator, cancel); }
private static async Task <(VisualStudioWaitIndicator.Instance, Action cancel)> CreateAsync(string title = "", string message = "", bool isCancelable = false) { var threadingService = IProjectThreadingServiceFactory.Create(); var(threadedWaitDialogFactory, cancel) = IVsThreadedWaitDialogFactoryFactory.Create(title, message, isCancelable); var threadedWaitDialogFactoryService = IVsServiceFactory.Create <SVsThreadedWaitDialogFactory, IVsThreadedWaitDialogFactory>(threadedWaitDialogFactory); var instance = new VisualStudioWaitIndicator.Instance(threadingService, threadedWaitDialogFactoryService); await instance.InitializeAsync(); return(instance, cancel); }