ide vscode

Visual Studio Code(VSCode)のPHPのExecutable PathにDockerコンテナ内のPHPを設定します。
こちらのページを参考にさせていただいてます。

環境

  • Ubuntu 22.04.3 LTS (WSLで起動している)
  • Docker Engine 26.0.0
  • PHP 8.2.15
  • Visual Studio Code 1.87.2

前提

  • PHPをインストールしているDockerコンテナがある。
    WSL上のDockerコンテナで動くLaravelプロジェクトの構築についてはこちらをご覧ください。
  • Visual Studio Codeをインストールしている。

設定の流れ

  1. DockerコンテナでPHPを実行するスクリプトを作成する。
  2. VSCodeのPHPの設定を変更する。

1. DockerコンテナでPHPを実行するスクリプトを作成する

DockerコンテナでPHPを実行するスクリプトを作成します。

Docker Composeの場合

VSCodeで開いているプロジェクト内の docker-compose.yml があるディレクトリに php.sh を作成します。

php.sh :

#!/bin/bash

docker compose exec <サービス名> php $@

Docker Composeじゃない場合

VSCodeで開いているプロジェクト内の任意のディレクトリに php.sh を作成します。

php.sh :

#!/bin/bash

docker exec -it <コンテナ名> php $@

$@ はシェルスクリプトの引数です。php.sh <引数1> <引数2> の場合、<引数1> <引数2> を表します。これでDockerコンテナ内で任意の引数でPHPを実行できるようになります。

2. VSCodeのPHPの設定を変更する

VSCodeのPHPの設定を変更します。
VSCodeを開き、「設定」をクリックします。
設定ボタン

「ワークスペース」タブを選択し、「拡張機能」の「PHP」をクリックします。
php.validate.executablePath の「setting.jsonで編集」をクリックします。
setting.jsonで編集のリンク

setting.jsonphp.validate.executablePathphp.sh のパスを指定します。
今回はワークスペースのルートディレクトリに置いています。

setting.json :

{
    "php.validate.executablePath": "./php.sh", // 追加
    "php.validate.run": "onType"
}

php.validate.run を「onType」にすると、入力時にPHPの検証が行われ、エラーのときはエラーが表示されるようになります。

Executable PathにDockerコンテナ内のPHPを設定できました。
Executable Pathに関する警告も出なくなったと思います。