Add PowerShell version logging for activation debugging#851
Merged
eleanorjboyd merged 3 commits intomainfrom Oct 8, 2025
Merged
Add PowerShell version logging for activation debugging#851eleanorjboyd merged 3 commits intomainfrom
eleanorjboyd merged 3 commits intomainfrom
Conversation
Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Leave better logs for pwsh version for activation
Add PowerShell version logging for activation debugging
Sep 21, 2025
Copilot stopped work on behalf of
eleanorjboyd due to an error
September 21, 2025 21:51
Member
|
@anthonykim1 was this what you were looking for in terms of logging? And is this the right way to do it? Lgtm but don't know the area as well |
anthonykim1
reviewed
Oct 7, 2025
| */ | ||
| async function getPowerShellVersion(shell: 'powershell' | 'pwsh'): Promise<string | undefined> { | ||
| try { | ||
| const command = `${shell} -Command "\$PSVersionTable.PSVersion.Major"`; |
Contributor
There was a problem hiding this comment.
This looks good, I think you can even make it pwsh -c '$PSVersionTable.PSVersion.Major'
Contributor
Author
There was a problem hiding this comment.
Done! Changed to use -c flag in commit 3f8a2b4.
anthonykim1
previously approved these changes
Oct 7, 2025
Changed from -Command to -c as suggested in review. Co-authored-by: eleanorjboyd <26030610+eleanorjboyd@users.noreply.github.com>
anthonykim1
approved these changes
Oct 8, 2025
eleanorjboyd
approved these changes
Oct 8, 2025
sandy081
approved these changes
Oct 8, 2025
NguyenCuong1989
referenced
this pull request
in NguyenCuong1989/vscode-python-environments
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.
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:
$PSVersionTable.PSVersion.MajorImplementation Details:
getPowerShellVersion()function - Detects PowerShell major version using$PSVersionTable.PSVersion.Majorcommand with-cflagTesting:
These changes provide better diagnostic information for debugging PowerShell activation issues without affecting existing functionality.
Fixes #706.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.