bug fix: enhance conda environment management with sourcing status and updated shell activation support#693
Merged
eleanorjboyd merged 7 commits intomicrosoft:mainfrom Aug 11, 2025
Conversation
…d updated shell activation support
07ab05c to
0bd3547
Compare
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR enhances conda environment management by adding sourcing status detection and improving shell activation support. The changes introduce a new system to determine whether conda is already active in the current shell and provide better shell-specific activation commands.
- Adds
CondaSourcingStatusclass to track conda initialization state - Refactors shell activation command generation to use sourcing information
- Introduces detection of global and shell-specific conda activation scripts
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| src/managers/conda/main.ts | Adds sourcing status construction and assignment to environment manager |
| src/managers/conda/condaUtils.ts | Refactors shell activation logic to use sourcing status and removes duplicate code |
| src/managers/conda/condaSourcingUtils.ts | New utility for detecting conda sourcing status and activation scripts |
| src/managers/conda/condaEnvManager.ts | Adds sourcingInformation property to store sourcing status |
|
If the changes appear safe, you can manually trigger the pipeline by commenting |
anthonykim1
reviewed
Aug 11, 2025
Contributor
|
made an issue for better pwsh logs in future: #706 |
anthonykim1
approved these changes
Aug 11, 2025
eleanorjboyd
added a commit
to eleanorjboyd/vscode-python-environments
that referenced
this pull request
Aug 12, 2025
…d updated shell activation support (microsoft#693)
9 tasks
eleanorjboyd
added a commit
that referenced
this pull request
Oct 8, 2025
Implementing better PowerShell version logging for activation debugging as requested in issue #706. The issue stems from the PR review comment (#693 (comment)) suggesting that logging PowerShell version information would be valuable for debugging activation failures, especially given the differences between Windows PowerShell 5.x and PowerShell 7+. ## Changes Made: - [x] Analyze current PowerShell activation flow in pwshStartup.ts and pwshEnvs.ts - [x] Examine existing logging patterns and utilities - [x] Test current build/compile state of project - [x] Create utility function to detect PowerShell version via `$PSVersionTable.PSVersion.Major` - [x] Add PowerShell version logging to relevant activation code paths - [x] Add version logging for both conda and non-conda activation scenarios - [x] Ensure logging follows existing patterns (traceInfo/traceVerbose) - [x] Test changes and verify proper logging output - [x] Use shorter -c flag instead of -Command for PowerShell commands ## Implementation Details: 1. **Added `getPowerShellVersion()` function** - Detects PowerShell major version using `$PSVersionTable.PSVersion.Major` command with `-c` flag 2. **Enhanced installation logging** - Now logs PowerShell version when shells are detected (e.g., "SHELL: pwsh is installed (version 7)") 3. **Enhanced activation script error messages** - PowerShell errors now include version info (e.g., "Failed to activate Python environment (PowerShell 7): error details") ## Testing: - All existing unit tests pass (128 passing) - Code compiles successfully with no lint errors - Manual testing confirms PowerShell version detection works correctly These changes provide better diagnostic information for debugging PowerShell activation issues without affecting existing functionality. Fixes #706. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey3.medallia.com/?EAHeSx-AP01bZqG0Ld9QLQ) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>
NguyenCuong1989
referenced
this pull request
in NguyenCuong1989/vscode-python-environments
Oct 23, 2025
…d updated shell activation support (#693)
NguyenCuong1989
pushed a commit
to NguyenCuong1989/vscode-python-environments
that referenced
this pull request
Oct 23, 2025
Implementing better PowerShell version logging for activation debugging as requested in issue #706. The issue stems from the PR review comment (microsoft/vscode-python-environments#693 (comment)) suggesting that logging PowerShell version information would be valuable for debugging activation failures, especially given the differences between Windows PowerShell 5.x and PowerShell 7+. ## Changes Made: - [x] Analyze current PowerShell activation flow in pwshStartup.ts and pwshEnvs.ts - [x] Examine existing logging patterns and utilities - [x] Test current build/compile state of project - [x] Create utility function to detect PowerShell version via `$PSVersionTable.PSVersion.Major` - [x] Add PowerShell version logging to relevant activation code paths - [x] Add version logging for both conda and non-conda activation scenarios - [x] Ensure logging follows existing patterns (traceInfo/traceVerbose) - [x] Test changes and verify proper logging output - [x] Use shorter -c flag instead of -Command for PowerShell commands ## Implementation Details: 1. **Added `getPowerShellVersion()` function** - Detects PowerShell major version using `$PSVersionTable.PSVersion.Major` command with `-c` flag 2. **Enhanced installation logging** - Now logs PowerShell version when shells are detected (e.g., "SHELL: pwsh is installed (version 7)") 3. **Enhanced activation script error messages** - PowerShell errors now include version info (e.g., "Failed to activate Python environment (PowerShell 7): error details") ## Testing: - All existing unit tests pass (128 passing) - Code compiles successfully with no lint errors - Manual testing confirms PowerShell version detection works correctly These changes provide better diagnostic information for debugging PowerShell activation issues without affecting existing functionality. Fixes #706. <!-- START COPILOT CODING AGENT TIPS --> --- 💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click [here](https://survey3.medallia.com/?EAHeSx-AP01bZqG0Ld9QLQ) to start the survey. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.