protected override void Initialize() { Current = this; VsAppShell.EnsureInitialized(); if (IsCommandLineMode()) { return; } VsWpfOverrides.Apply(); CranMirrorList.Download(); using (var p = Current.GetDialogPage(typeof(RToolsOptionsPage)) as RToolsOptionsPage) { p?.LoadSettings(); } RtvsTelemetry.Initialize(_packageIndex, VsAppShell.Current.ExportProvider.GetExportedValue <IRSettings>()); base.Initialize(); ProjectIconProvider.LoadProjectImages(); LogCleanup.DeleteLogsAsync(DiagnosticLogs.DaysToRetain); BuildFunctionIndex(); AdviseExportedWindowFrameEvents <ActiveWpfTextViewTracker>(); AdviseExportedWindowFrameEvents <VsActiveRInteractiveWindowTracker>(); AdviseExportedDebuggerEvents <VsDebuggerModeTracker>(); IdleTimeAction.Create(ExpansionsCache.Load, 200, typeof(ExpansionsCache), VsAppShell.Current); IdleTimeAction.Create(() => RtvsTelemetry.Current.ReportConfiguration(), 5000, typeof(RtvsTelemetry), VsAppShell.Current); }
protected override void Initialize() { Current = this; VsAppShell.EnsureInitialized(); if (IsCommandLineMode()) { return; } VsWpfOverrides.Apply(); CranMirrorList.Download(); base.Initialize(); ProjectIconProvider.LoadProjectImages(VsAppShell.Current.Services); LogCleanup.DeleteLogsAsync(DiagnosticLogs.DaysToRetain); var settings = VsAppShell.Current.GetService <IRToolsSettings>(); var editorSettings = VsAppShell.Current.GetService <IREditorSettings>(); RtvsTelemetry.Initialize(_packageIndex, settings, editorSettings); BuildFunctionIndex(); AdviseExportedWindowFrameEvents <ActiveWpfTextViewTracker>(); AdviseExportedWindowFrameEvents <VsActiveRInteractiveWindowTracker>(); AdviseExportedDebuggerEvents <VsDebuggerModeTracker>(); System.Threading.Tasks.Task.Run(() => RtvsTelemetry.Current.ReportConfiguration()); IdleTimeAction.Create(ExpansionsCache.Load, 200, typeof(ExpansionsCache), VsAppShell.Current); }
protected override void Initialize() { Current = this; VsAppShell.EnsureInitialized(); if (IsCommandLineMode()) { return; } CranMirrorList.Download(); base.Initialize(); _fs = Services.FileSystem(); ProjectIconProvider.LoadProjectImages(Services); LogCleanup.DeleteLogsAsync(DiagnosticLogs.DaysToRetain); LoadEditorSettings(); BuildFunctionIndex(); AddConnectionStatusBar(); RtvsTelemetry.Initialize(_packageIndex, Services); AdviseExportedWindowFrameEvents <ActiveWpfTextViewTracker>(); AdviseExportedWindowFrameEvents <VsActiveRInteractiveWindowTracker>(); AdviseExportedDebuggerEvents <VsDebuggerModeTracker>(); System.Threading.Tasks.Task.Run(() => RtvsTelemetry.Current.ReportConfiguration()); ExpansionsCache.Load(Services); }
protected override void OnTextBufferCreated(ITextView textView, ITextBuffer textBuffer) { var clh = ContainedLanguageHost.GetHost(textView, textBuffer, Services); VsAppShell.EnsurePackageLoaded(RGuidList.RPackageGuid); OleControllerChain.InitEditorInstance(textBuffer, Services); base.OnTextBufferCreated(textView, textBuffer); }
protected override void Initialize() { _package = this; VsAppShell.EnsureInitialized(); LoadEditorSettings(); base.Initialize(); }
public static VsServiceManager Setup(VsAppShell instance) { var serviceManager = new VsServiceManager(instance); var catalog = VsTestCompositionCatalog.Current; var batch = new CompositionBatch().AddValue <ICoreShell>(instance); VsTestCompositionCatalog.Current.Container.Compose(batch); serviceManager.CompositionService = catalog.CompositionService; serviceManager.ExportProvider = catalog.ExportProvider; serviceManager // ICoreShell .AddService(instance) // MEF .AddService(catalog) .AddService(catalog.CompositionService) .AddService(catalog.ExportProvider) // IMainThread and basic services .AddService(UIThreadHelper.Instance.MainThread) .AddService(Substitute.For <IActionLog>()) .AddService(Substitute.For <IIdleTimeService>()) .AddService(new VsApplicationMock()) .AddService(new SecurityServiceStub()) .AddService(new MaxLoggingPermissions()) .AddService(new WindowsFileSystem()) .AddService <IOutputService, TestOutputService>() .AddService(new RegistryImpl()) .AddService(new ProcessServices()) .AddService(new TestUIServices(UIThreadHelper.Instance.ProgressDialog)) .AddService(UIThreadHelper.Instance.TaskService) .AddService(new TestPlatformServices()) .AddService(new RSettingsStub()) .AddService(new REditorSettings(new TestSettingsStorage())) .AddService(new TestImageService()) .AddService(new VsEditorSupport(serviceManager)) .AddRComponentsServices() .AddWindowsRInterpretersServices() .AddWindowsHostClientServices() .AddWindowsRComponentsServices() // OLE and VS specifics .AddService(new TestStatusBar()) .AddService(new VsRegisterProjectGeneratorsMock(), typeof(SVsRegisterProjectTypes)) .AddService(VsRegisterEditorsMock.Create(), typeof(SVsRegisterEditors)) .AddService(new MenuCommandServiceMock(), typeof(IMenuCommandService)) .AddService(new ComponentModelMock(VsTestCompositionCatalog.Current), typeof(SComponentModel)) .AddService(new TextManagerMock(), typeof(SVsTextManager)) .AddService(VsImageServiceMock.Create(), typeof(SVsImageService)) .AddService(new VsUiShellMock(), typeof(SVsUIShell)) .AddService(OleComponentManagerMock.Create(), typeof(SOleComponentManager)) .AddService(VsSettingsManagerMock.Create(), typeof(SVsSettingsManager)) .AddService(new UIHostLocaleMock(), typeof(SUIHostLocale)); return(serviceManager); }
public async Task InitializeProjectFromDiskAsync() { await Project.CreateInMemoryImport(); _fileWatcher.Start(); await _threadHandling.SwitchToUIThread(); // Make sure R package is loaded VsAppShell.EnsurePackageLoaded(RGuidList.RPackageGuid); // Verify project is not on a network share and give warning if it is CheckRemoteDrive(_projectDirectory); _workflow = _workflowProvider.GetOrCreate(); _session = _workflow.RSession; _history = _workflow.History; if (_workflow.ActiveWindow == null) { var window = await _workflow.GetOrCreateVisualComponent(_componentContainerFactory); window.Container.Show(true); } try { await _session.HostStarted; } catch (Exception) { return; } // TODO: need to compute the proper paths for remote, but they might not even exist if the project hasn't been deployed. // https://github.com/Microsoft/RTVS/issues/2223 if (!_session.IsRemote) { var rdataPath = Path.Combine(_projectDirectory, DefaultRDataName); bool loadDefaultWorkspace = _fileSystem.FileExists(rdataPath) && await GetLoadDefaultWorkspace(rdataPath); using (var evaluation = await _session.BeginEvaluationAsync()) { if (loadDefaultWorkspace) { await evaluation.LoadWorkspaceAsync(rdataPath); } await evaluation.SetWorkingDirectoryAsync(_projectDirectory); } _toolsSettings.WorkingDirectory = _projectDirectory; } _history.TryLoadFromFile(Path.Combine(_projectDirectory, DefaultRHistoryName)); CheckSurveyNews(); }
protected override void Dispose(bool disposing) { SavePackageIndex(); LogCleanup.Cancel(); ProjectIconProvider.Close(); CsvAppFileIO.Close(VsAppShell.Current.FileSystem()); RtvsTelemetry.Current?.Dispose(); VsAppShell.Terminate(); base.Dispose(disposing); }
public async Task InitializeProjectFromDiskAsync() { await Project.CreateInMemoryImport(); _fileWatcher.Start(); // Force REPL window up and continue only when it is shown await _threadHandling.SwitchToUIThread(); // Make sure R package is loaded VsAppShell.EnsurePackageLoaded(RGuidList.RPackageGuid); // Verify project is not on a network share and give warning if it is CheckRemoteDrive(_projectDirectory); _workflow = _workflowProvider.GetOrCreate(); _session = _workflow.RSession; _history = _workflow.History; if (_workflow.ActiveWindow == null) { var window = await _workflow.GetOrCreateVisualComponent(_componentContainerFactory); window.Container.Show(true); } try { await _session.HostStarted; } catch (Exception) { return; } var rdataPath = Path.Combine(_projectDirectory, DefaultRDataName); bool loadDefaultWorkspace = _fileSystem.FileExists(rdataPath) && await GetLoadDefaultWorkspace(rdataPath); using (var evaluation = await _session.BeginEvaluationAsync()) { if (loadDefaultWorkspace) { await evaluation.LoadWorkspace(rdataPath); } await evaluation.SetWorkingDirectory(_projectDirectory); } _toolsSettings.WorkingDirectory = _projectDirectory; _history.TryLoadFromFile(Path.Combine(_projectDirectory, DefaultRHistoryName)); CheckSurveyNews(); }
public static void Setup(VsAppShell instance) { var serviceManager = instance.Services as VsServiceManager; Debug.Assert(!serviceManager.AllServices.Any(), "Test VsAppShell service container must be empty at init time"); var catalog = VsTestCompositionCatalog.Current; var batch = new CompositionBatch().AddValue <ICoreShell>(instance); VsTestCompositionCatalog.Current.Container.Compose(batch); serviceManager.CompositionService = catalog.CompositionService; serviceManager.ExportProvider = catalog.ExportProvider; serviceManager // ICoreShell .AddService(instance) // MEF .AddService(catalog) .AddService(catalog.CompositionService) .AddService(catalog.ExportProvider) // IMainThread and basic services .AddService(UIThreadHelper.Instance) .AddService(Substitute.For <IActionLog>()) .AddService(new SecurityServiceStub()) .AddService(new MaxLoggingPermissions()) .AddService(new WindowsFileSystem()) .AddService(new RegistryImpl()) .AddService(new ProcessServices()) .AddService(new TestUIServices()) .AddService(new TestTaskService()) .AddService(new TestPlatformServices()) .AddService(new TestRToolsSettings()) .AddService(new REditorSettings(new TestSettingsStorage())) .AddService(new TestImageService()) .AddWindowsRInterpretersServices() .AddWindowsHostClientServices() // OLE and VS specifics .AddService(new VsRegisterProjectGeneratorsMock(), typeof(SVsRegisterProjectTypes)) .AddService(VsRegisterEditorsMock.Create(), typeof(SVsRegisterEditors)) .AddService(new MenuCommandServiceMock(), typeof(IMenuCommandService)) .AddService(new ComponentModelMock(VsTestCompositionCatalog.Current), typeof(SComponentModel)) .AddService(new TextManagerMock(), typeof(SVsTextManager)) .AddService(VsImageServiceMock.Create(), typeof(SVsImageService)) .AddService(new VsUiShellMock(), typeof(SVsUIShell)) .AddService(OleComponentManagerMock.Create(), typeof(SOleComponentManager)) .AddService(VsSettingsManagerMock.Create(), typeof(SVsSettingsManager)); }
protected override void OnTextBufferCreated(ITextView textView, ITextBuffer textBuffer) { VsAppShell.EnsurePackageLoaded(MdGuidList.MdPackageGuid); OleControllerChain.InitEditorInstance(textBuffer, Services); base.OnTextBufferCreated(textView, textBuffer); }
protected override void Initialize() { VsAppShell.EnsureInitialized(); base.Initialize(); }