VisualStudioCode + XAMPP + XDebug でデバッグ環境構築メモ を投稿後、早速社内の若手に環境構築を命じてみたところ、
「ブレークポイントが設定できないんですけど・・・?」
という指摘が入りました。
今回の設定も大苦労の末、弊社のWebマスターの助力よろしく設定完了して全てを理解したつもりでいた筆者は、
「そんなワケあるかい。どれ、設定状況見せてミソラシド」
とSlackで画面共有しながらチェックする事にしました。
・Xdebugが正しく認識しているかチェック。
→phpinfoで「Xdebug」の大項目が表示され、詳細な設定が見えるのでOK。
・settings.jsonが正しく設定されているかチェック。
→問題無し。
・launch.jsonが正しく設定されているかチェック。
→問題無し。
・デバッグ用プラグイン、正しいバージョンがインストールされているかチェック。
→問題無し。念のため再インストールも問題無さそう。
・デバッグがListen状態になるか?
→問題無し。
おお、正しく設定されているじゃーないか?なら、何故動かない、、、?
ということで、
・頭来たので、VSCodeを再インストール後、再度デバッグ環境構築。
→NG。現象変わらず。
うーむ。分かりません・・・ということで、再度Webマスターに懇願。
Slackで3人通話しながら各々の環境を試しに動作させてみると、
「あれ?私の環境も動かない?」
「おお?昨日まで元気だったウチの子も動かない??」
なんじゃこれ、、、ということで、多分同じ現象に陥っている人が多数Twitterで悲鳴をあげているに違いない、と検索したらありました・・・😅
Stop using enableBreakpointsFor in package.json under debuggers contribution #424
※Githubに飛びます。
【対処方法】
1)C:\【サインインユーザー名】\.vscode\extensions\felixfbecker.php-debug-1.13.0\package.json をバックアップし、ファイルオープン。
2)以下の記述を追記・保存する。
"contributes": { "breakpoints": [ { "language": "php" } ], "debuggers": [ { "type": "php", "label": "PHP", "enableBreakpointsFor": { "languageIds": [ "php" ] },
※114行目辺りの [contributes] と [debuggers] の間に [breakpoints] 部分を追加します。
追加後VSCodeを再起動すると、無事ブレークポイントを設定できるようになりました!
VSCodeのバージョンが 1.52.0 に上がるとなるっぽい?みたいですね。
もし、「phpだけブレークポイントが設定できない!?」となったらお試しを。
他の言語で同じ現象の場合、[language] を変更すれば行けそうな気がしますね。