Conditional Breakpoint: Does Not Stop When Using A Private Variable
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- powershell, vscode
- Domain
- developer-experience, tooling
Research direction
Run the reported PowerShell script in VS Code with a conditional breakpoint on line 4 using $private:number -eq 100, and compare it with the expected stop before the warning. Review related issue #5223 and trace the extension's breakpoint-condition handling. Done means the breakpoint activates when the private variable reaches 100.
Written by the indexing model from the issue text.
Description
Prerequisites
- I have written a descriptive issue title.
- I have searched all open and closed issues to ensure it has not already been reported.
- I have read the troubleshooting guide.
- I am sure this issue is with the extension itself and does not reproduce in a standalone PowerShell instance.
- I have verified that I am using the latest version of Visual Studio Code and the PowerShell extension.
- If this is a security issue, I have read the security issue reporting guidance.
Summary
When the condition in a conditional breakpoint contains a reference to a private variable defined by the script, the breakpoint is not activated.
PowerShell Version
Name Value
---- -----
PSVersion 7.4.12
PSEdition Core
GitCommitId 7.4.12
OS Microsoft Windows 10.0.20348
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0.}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Visual Studio Code Version
1.105.1
x64
Extension Version
ms-vscode.powershell@2025.4.0
Steps to Reproduce
- Launch VS Code with the PowerShell extension installed.
- Paste the following code into a new window.
$numbers = 1..100
foreach ($private:number in $numbers) {
write-host $private:number
if ($private:number -eq 100) {
write-warning "The breakpoint should trip before this line of code."
}
}
-
Add a breakpoint to line 4.
-
Right-click on the breakpoint and click on "Edit Breakpoint..."
-
Enter the following expression.
$private:number -eq 100 -
Run the script.
Visuals
No response
Logs
After setting the log level to Trace, I restarted VS Code and reproduced the issue. Afterwards, none of the folders in "%APPDATA%\Code\User\globalStorage\ms-vscode.powershell\logs" appeared to have been modified today.
This issue might be related to https://github.com/PowerShell/vscode-powershell/issues/5223. But that one uses "$_" instead of "$private:".
- Dominant language
- TypeScript
- Stars
- 1.9k
- Forks
- 548
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PowerShell/vscode-powershell
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
PowerShell/vscode-powershell#5599 · 3 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PowerShell/vscode-powershell#5592 · 2 comments · 1 reaction ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
PowerShell/vscode-powershell#5583 · 1 comment ·
-
powershell.scriptAnalysis.settingsPath (Description): Warning Message Should Provide A Workaround OpenArea-Code Formatting Issue-Enhancement
Difficulty 1/5 Under an hour Newbie friendliness 68/100
PowerShell/vscode-powershell#4653 · 3 comments · 4 reactions ·
-
agentic-workflows
Difficulty 3/5 1-2 days Newbie friendliness 48/100
PowerShell/vscode-powershell#5606 ·
All issues in PowerShell/vscode-powershell
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
ontola/atomic-server#1625 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
melgarafael/DeskcommCRM#1451 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
-
bug via-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bot:ai-assisted component:compact-js status:untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
midnightntwrk/midnight-sdk#403 ·