示例#1
0
        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));
        }
示例#2
0
        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);
     }
 }