You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix Regression: interpreter selection status bar not working when switching environments - #1126
The changes made in #1120 introduced logic to avoid writing unnecessary settings when the selected environment manager is the implicit default (system manager). This was intended to prevent polluting settings.json.
However, this optimization broke manual interpreter selection. When a user clicks the status bar and explicitly selects a global/system interpreter in a workspace with an empty settings.json, the selection is silently ignored because the code determines "this is the default, so don't write it."
This PR added an optional forceWrite flag to EditAllManagerSettings, EditEnvManagerSettings, and EditPackageManagerSettings interfaces and updated all user-initiated callers in envManagers.ts and envCommands.ts to pass forceWrite: true.
thinking on this and the edge cases here- thanks for the PR
Thanks. Looking back at the original bug, the user reported that python-envs.defaultEnvManager: "ms-python.python:system" and python-envs.pythonProjects: [] were added to settings.json unexpectedly.
It seems reasonable to me that python-envs.defaultEnvManager gets added when an interpreter is selected for the workspace, based on the logic in settingHelper.ts. Would it make sense to check with Karthik whether this behavior is intentional? But I do agree that the logic around python-envs.pythonProjects could be improved so that the setting isn’t written when the value is empty.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bugIssue identified by VS Code Team member as probable bug
2 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes #1124
The changes made in #1120 introduced logic to avoid writing unnecessary settings when the selected environment manager is the implicit default (system manager). This was intended to prevent polluting
settings.json.However, this optimization broke manual interpreter selection. When a user clicks the status bar and explicitly selects a global/system interpreter in a workspace with an empty
settings.json, the selection is silently ignored because the code determines "this is the default, so don't write it."This PR added an optional
forceWriteflag toEditAllManagerSettings,EditEnvManagerSettings, andEditPackageManagerSettingsinterfaces and updated all user-initiated callers inenvManagers.tsandenvCommands.tsto passforceWrite: true.