private async Task LoadWorkspace(IRSession session, string file) { try { await session.LoadWorkspaceAsync(file); } catch (RException ex) { var message = string.Format(CultureInfo.CurrentCulture, Resources.LoadWorkspaceFailedMessageFormat, file, ex.Message); VsAppShell.Current.ShowErrorMessage(message); } catch (OperationCanceledException) { } }
private async Task LoadWorkspace(IRSession session, string file) { try { await session.LoadWorkspaceAsync(file); } catch (RException ex) { var message = Resources.LoadWorkspaceFailedMessageFormat.FormatCurrent(file, ex.Message); await _shell.ShowErrorMessageAsync(message); } catch (OperationCanceledException) { } }
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 = _coreShell.GetService <IRInteractiveWorkflowVisualProvider>().GetOrCreate(); _session = _workflow.RSession; _history = _workflow.History; if (_workflow.ActiveWindow == null) { var window = await _workflow.GetOrCreateVisualComponentAsync(); window.Container.Show(focus: true, immediate: false); } try { await _session.HostStarted; } catch (Exception) { return; } _workflow.RSessions.BeforeDisposed += BeforeRSessionsDisposed; // 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 = _coreShell.FileSystem().FileExists(rdataPath) && await GetLoadDefaultWorkspace(rdataPath); if (loadDefaultWorkspace) { await _session.LoadWorkspaceAsync(rdataPath); } await _session.SetWorkingDirectoryAsync(_projectDirectory); _settings.WorkingDirectory = _projectDirectory; } _history.TryLoadFromFile(Path.Combine(_projectDirectory, DefaultRHistoryName)); CheckSurveyNews(); }
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.GetOrCreateVisualComponentAsync(); window.Container.Show(focus: true, immediate: false); } 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 = _coreShell.Services.FileSystem.FileExists(rdataPath) && await GetLoadDefaultWorkspace(rdataPath); if (loadDefaultWorkspace) { await _session.LoadWorkspaceAsync(rdataPath); } await _session.SetWorkingDirectoryAsync(_projectDirectory); _toolsSettings.WorkingDirectory = _projectDirectory; } _history.TryLoadFromFile(Path.Combine(_projectDirectory, DefaultRHistoryName)); CheckSurveyNews(); }