Use new EnvironmentVariableCollection API #51
Merged
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.
new EnvironmentVariableCollection API introduced in microsoft/vscode#179476 allows to (re)apply environment variables at the shell integration stage. This is crucial for macOS which uses login shell as default and overrides or prepends set PATH on startup, leading to micromamba paths being absent or push towards the end. This results in system binaries being used as default, essentially deactivating the conda environment
Update
@types/vscode
and@vscode/test-electron
to the latest versions to allow use of the new APIPass in EnvironmentVariableMutatorOptions{ applyAtProcessCreation: true, applyAtShellIntegration: true } to guarantee PATH and other environment variables reapplication after default shell initializtion is complete
Add filtering of the standard shell and vscode environment variables in
parseMicromambaShellActivateResponse
in order to avoid attempting to change read-only variables like PWD and SHLVL as well as causing potential side effects with process specific variables like VSCODE_ (see in code comments for more details)