Investigation: First workspace folder's venv overwritten by defaultInterpreterPath on reload #1147
+0
−0
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.
In multi-root workspaces, the first folder's venv selection is unconditionally overwritten by
python.defaultInterpreterPathon every extension reload. Subsequent folders are unaffected.Root Cause
resolveDefaultInterpreter()in/src/helpers.ts(lines 299-303) always callsapi.setEnvironment(workspace.workspaceFolders[0].uri, newEnv)when:python.defaultInterpreterPathis setpython-envs.defaultEnvManageris NOT setThe function doesn't check if an environment is already explicitly selected for that workspace folder.
Recommended Fix
Use the existing
setEnvironmentsIfUnsetpattern already in the codebase:Additional Notes
workspaceFolders[0]is affected - the code doesn't handle multi-root scenariosdefaultInterpreterPathsetting is described as "no longer used once an interpreter is selected" but the code doesn't honor this intentOriginal prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.