PHP開発環境(VSCode専用) デバッグ
PHP開発環境を整えました。前回からのつづき。PHP開発環境(VSCode専用) tunnel接続仮想マシン上のUbuntu 22.04に、開発環境を構築し、他のパソコンから操作する設定はできました。今回は、デバッグの設定。仮想マシン上のUbuntu 22.04のVSCodeに、拡張機能として、「PHP Extension Pack」をインストールしました。これにより、「PHP IntelliSense」と「PHP Debug」の2つがインストールされるはずです。私は、個別に、インストールしました。xdebugの設定事前に、NetBeans用に設定していたため、変更しました。上記の「PHP Debug」をインストールすると、自動的に設定してくれるのでしょうか?/etc/php/8.1/fpm/conf.d/20-xdebug.ini ファイルの編集。下記を追記。xdebug.mode = debugxdebug.start_with_requiest = yesVSCode側の設定「実行とデバッグ」から、「launch.jsonファイルを作成します」を選択。PHPを選択しました。launch.jsonファイルの修正port設定の次あたりの行に、追記"pathMappings": { "/var/www/html": "${workspaceRoot}"}この設定の場合、ソースファイルのあるフォルダと、Webサーバーの公開フォルダを関連づけます。ただし、両方のフォルダを同期させるには、別途、設定が必要のようです。拡張機能の「Deploy(Reloaded)」をインストールしました。この機能により、両者のフォルダを同期させます。.vscodeフォルダ内に、settings.jsonファイルを作成します。{ "deploy.reloaded": { "targets": [ { "type": "local", "name": "local folder", "description": "A local folder", "dir": "/var/www/html" } ], "packages": [ { "name": "Version 1.0.0", "description": "Package version 1.0.0", "deployOnSave": true, "targets": [ "local folder" ], "files": [ "**/*.php", "**/*.json", "**/*.html", "**/*.css" ], "exclude": [ ".vscode/**" ], "button": { "text": "Deploy to 'My target'", "tooltip": "Click here to deploy to the target...", "targets": [ "local folder" ] } } ] }}この設定により、VSCodeエディタ内の下に作成されるDeployボタンをクリックすると、ソースフォルダから、Webの公開フォルダに、ファイルがコピーされます。また、ファイルを編集し、保存すると、そのファイルがコピーされます。この拡張機能の不満な点は、ソースフォルダの任意のフォルダを、Web公開フォルダに関連付けられないことです。例えば、ソースのファイル構造が、下記のようになっていて、root - www - ここにソース - docルートの直下にソースがない場合は、同期できません。packagesに、dir設定があればできると思いますが、調査不足なのか分かりませんでした。仕方なく、ソースをルートの配置するように変更しました。これで、デバッグ出来るようになりました。VSCodeのファーストインプレッションNetBeansからの移行ですから、やはり、NetBeansの方が使いやすいです。NetBeansは、インストール時点で、PHP用の機能が入っていますから、拡張機能を追加する必要がありません。開発時は、クラス内のメソッドの定義に、移動する機能があり、便利でした。VSCodeに替えて、一昔前の開発環境に戻った感じがします。拡張機能を試しながら、使いやすくなるように、カスタマイズしていきます。