private async void StartupServices() { if (this.serviceProvider != null) { return; } this.serviceProvider = new AsyncServiceProvider( typeof(App).Assembly, typeof(Hue.HueService).Assembly, typeof(FreeSound.FreeSoundService).Assembly, typeof(ILiveCampaignClient).Assembly); Services = this.serviceProvider; Messenger.Default.Register <ServiceDiscoveredMesage> (this, OnServiceDiscovered); Messenger.Default.Register <PairServiceMessage> (this, OnPairService); Messenger.Default.Register <PairServiceWaitMessage> (this, OnWaitForPair); Messenger.Default.Register <PairServiceResultMessage> (this, OnPairServiceResult); this.serviceProvider.Expect <DownloadManager> (); this.serviceProvider.Expect <CampaignManager> (); this.serviceProvider.Expect <PlaySpaceManager> (); this.serviceProvider.Expect <PlaybackManager> (); ISyncService sync = await this.serviceProvider.GetServiceAsync <ISyncService> (); SettingsManager settings = await this.serviceProvider.GetServiceAsync <SettingsManager> (); this.serviceProvider.Register(new DownloadManager(this.serviceProvider)); this.serviceProvider.Register(new CampaignManager(sync)); this.serviceProvider.Register(new PlaySpaceManager(sync, settings)); this.serviceProvider.Register(new PlaybackManager(this.serviceProvider)); }
public static Mock <T> MockService <T> (this AsyncServiceProvider self) where T : class { var mock = new Mock <T> (); self.Register <T> (mock.Object); return(mock); }
public async Task InitializeAsync() { if (await AsyncServiceProvider.GetServiceAsync(typeof(IMenuCommandService)) is OleMenuCommandService commandService) { // Switch to main thread before calling AddCommand because it calls GetService await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); commandService.AddCommand(CreateMenuItem(ApplySettingsCmdId, this.ApplySublimeVSSettings)); } }
private async Task ImportUserSettingsAsync(string settingsFileName) { await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); if (await AsyncServiceProvider.GetServiceAsync(typeof(SVsUIShell)) is IVsUIShell shell) { // import the settings file into Visual Studio var asmDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var settingsFilePath = Path.Combine(asmDirectory, settingsFileName); var group = VSConstants.CMDSETID.StandardCommandSet2K_guid; object arguments = string.Format(CultureInfo.InvariantCulture, "-import:\"{0}\"", settingsFilePath); shell.PostExecCommand(ref group, (uint)VSConstants.VSStd2KCmdID.ManageUserSettings, 0, ref arguments); } }
private async Task ApplyMapModeScrollbarAsync() { try { if (await AsyncServiceProvider.GetServiceAsync(typeof(DTE)) is DTE2 dte2) { UpdateSetting(dte2, "TextEditor", "AllLanguages", "UseMapMode", true); UpdateSetting(dte2, "TextEditor", "AllLanguages", "OverviewWidth", (short)83); } } catch (Exception e) { Debug.Print(e.Message); } }