Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Conditional Breakpoint query does not work in pipeline ($_ not recognized)

オープン
#5,223 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
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 の本文から書いたものです。

説明

Issue-Bug Needs: Triage
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 はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PowerShell/vscode-powershell のほかの issue

PowerShell/vscode-powershell の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。