Conditional Breakpoint query does not work in pipeline ($_ not recognized)
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- powershell, typescript, vscode
- 领域
- devtools
调研方向
首先,使用 PowerShell 扩展在 Visual Studio Code 中复现条件断点行为,并比较 foreach 循环与 issue 中的 ForEach-Object 管道示例。跟踪条件断点处理的入口点,并验证在管道情况下 $_ -eq 5 会停止执行,同时不会破坏现有的 $number -eq 100 行为。
由索引模型根据 Issue 内容生成。
描述
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
Hi there,
During PSConfEU there was a demo about VSCode and I was following along and I realized that for conditional breakpoints there seems to be a bug where $_ would not be recognized in the queries. If I would use the conditional breakpoint in a foreach loop (keyword) it would work no problem with the loop variable. The issue as far as I can see only exist in Foreach-Object within the pipeline.
PowerShell Version
PS /Users/kevinbates/Code/PSConf25> $PSVersionTable; $host
Name Value
---- -----
PSVersion 7.4.6
PSEdition Core
GitCommitId 7.4.6
OS Darwin 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:25 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6020
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Name : Visual Studio Code Host
Version : 2025.0.0
InstanceId : 4c1c07d9-cbf8-40b2-8f41-6c2866edb05b
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
Visual Studio Code Version
PS /Users/kevinbates/Code/PSConf25> code --version
1.100.3
258e40fedc6cb8edf399a463ce3a9d32e7e1f6f3
arm64
Extension Version
PS /Users/kevinbates/Code/PSConf25> code --list-extensions --show-versions | select-string powershell
ms-vscode.powershell@2025.0.0
Steps to Reproduce
I can run this piece of code:
$numbers = 1..100
foreach($number in $numbers){
write-host $number
}
with the following conditional breakpoint on the line within the loop:
$number -eq 100
And the breakpoint will hit as expected. If I change up my code to use Foreach-Object. It will no longer hit.
1..100 | ForEach-Object {
write-host $_
}
with the following expression:
$_ -eq 5
Visuals
No response
Logs
No response
- 主要语言
- TypeScript
- 星标
- 1.9k
- 派生
- 548
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
PowerShell/vscode-powershell 的其他 Issue
-
agentic-workflows
难度 2/5 1-3 小时 新手友好度 62/100
PowerShell/vscode-powershell#5599 · 3 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
PowerShell/vscode-powershell#5592 · 2 条评论 · 1 个 reaction ·
-
agentic-workflows
难度 2/5 1-3 小时 新手友好度 62/100
PowerShell/vscode-powershell#5583 · 1 条评论 ·
-
powershell.scriptAnalysis.settingsPath (Description): Warning Message Should Provide A Workaround 未关闭Area-Code Formatting Issue-Enhancement
难度 1/5 1 小时以内 新手友好度 68/100
PowerShell/vscode-powershell#4653 · 3 条评论 · 4 个 reaction ·
-
agentic-workflows
难度 3/5 1-2 天 新手友好度 48/100
PowerShell/vscode-powershell#5606 ·
查看 PowerShell/vscode-powershell 的全部 Issue
相似的 Issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 1/5 1 小时以内 新手友好度 85/100
-
Mend: dependency security vulnerability untriaged
难度 2/5 1-3 小时 新手友好度 70/100