private void OnWorkspaceClosed(object sender, PythonWorkspaceContextEventArgs e) { _firstLoad = true; _isRefresh = false; if (_testFilesUpdateWatcher != null) { _testFilesUpdateWatcher.FileChangedEvent -= OnWorkspaceFileChanged; _testFilesUpdateWatcher.Dispose(); _testFilesUpdateWatcher = null; } if (_workspaceContextProvider.Workspace != null) { _workspaceContextProvider.Workspace.SearchPathsSettingChanged -= OnWorkspaceSettingsChange; _workspaceContextProvider.Workspace.InterpreterSettingChanged -= OnWorkspaceSettingsChange; _workspaceContextProvider.Workspace.TestSettingChanged -= OnWorkspaceSettingsChange; _workspaceContextProvider.Workspace.ActiveInterpreterChanged -= OnActiveInterpreterChanged; if (_projectMap.TryRemove(_workspaceContextProvider.Workspace.Location, out ProjectInfo projToRemove)) { projToRemove.Dispose(); } } _projectMap.Clear(); _packageManagerEventSink.InstalledPackagesChanged -= OnInstalledPackagesChanged; _packageManagerEventSink.UnwatchAll(); }
private void ResetSolution() { _firstLoad = true; _isRefresh = false; _setupComplete = false; _projectMap.Clear(); _packageManagerEventSink.UnwatchAll(); if (_testFilesUpdateWatcher != null) { _testFilesUpdateWatcher.FileChangedEvent -= OnProjectItemChanged; _testFilesUpdateWatcher.Dispose(); _testFilesUpdateWatcher = null; } }