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();
        }
Esempio n. 2
0
        private void ResetSolution()
        {
            _firstLoad     = true;
            _isRefresh     = false;
            _setupComplete = false;
            _projectMap.Clear();
            _packageManagerEventSink.UnwatchAll();

            if (_testFilesUpdateWatcher != null)
            {
                _testFilesUpdateWatcher.FileChangedEvent -= OnProjectItemChanged;
                _testFilesUpdateWatcher.Dispose();
                _testFilesUpdateWatcher = null;
            }
        }