PhpStorm 2026.1 Help

Psalm

PhpStorm は Psalm ツールと連携してコード品質チェックを提供します。Psalm は、設定された検証ルールに従ってコードの一貫性を検証します。

コマンドラインの代わりに PhpStorm から Psalm を使用するには、PhpStorm に登録し、PhpStorm の コードインスペクションとして構成する必要があります。 PhpStorm にインストールして有効化すると、ツールは開いている PHP ファイルで利用でき、起動の追加手順は必要ありません。 オンザフライコードチェックはファイルが更新されるたびにアクティブになるため、発見された問題を簡単に取り除くことができます。

Psalm によってオンザフライで報告されたエラーと警告は、 PhpStorm の内部コードインスペクションからのエラーや警告と同じようにエディターでハイライトされます。 ツールをバッチモードで実行すると、エラーと警告が 問題ツールウィンドウ に表示されます。 各メッセージには、PhpStorm 内部インスペクションと区別するために、 psalm の接頭辞が付いています。

Psalm 統合は、 オープンソースの Psalm プラグイン(英語)を介して実装されます。 このプラグインは PhpStorm にバンドルされており、デフォルトで有効化されています。

前提条件

Psalm を PhpStorm に統合する前に、次の前提条件が満たされていることを確認してください:

  • PHP エンジンの実行可能ファイルを含むディレクトリをシステム パス に追加する必要があります。 これにより、コード品質ツールスクリプトがシステム全体の PHP エンジンへの呼び出しを実行できるようになります。

  • Docker Compose ベースの リモートインタープリターの場合、追加のコンテナーが生成されないように、必ず docker-compose exec モードを使用してください。

    1. 設定 ダイアログ(Ctrl+Alt+S )で PHP に移動します。

    2. 表示される PHP ページで、 CLI インタープリター リストの横にある 閲覧ボタン をクリックします。

    3. 開いた CLI インタープリター ダイアログで、選択したインタープリターの ライフサイクル モードを 既存のコンテナーに接続する ('docker-compose exec') に設定します。

      PHP インタープリター用の docker-compose exec

Psalm をインストールして構成する

Composer と Psalm をインストール

Psalm を Composer でインストールすると、PhpStorm は必要なスクリプトを自動でダウンロードし、IDE に登録し、オプションで対応する コードインスペクションを有効化および構成します。

  1. composer.json 内で、 vimeo/psalm 依存関係レコードを require キーまたは require-dev キーに追加します。 パッケージ名とバージョンのコード補完を取得するには、 Ctrl+Space を押します。

  2. 次のいずれかを実行します:

    • エディターパネルの上部にある インストール​する​ ショートカットリンクをクリックします。

    • インストールされていない Composer パッケージ インスペクションが有効化されている場合、PhpStorm は現在インストールされていない宣言済みの依存関係をハイライトします。 Alt+Enter を押して、特定の依存関係をインストールするか、すべての依存関係を一度にインストールするかを選択します。

composer.json エディターのガター内のパッケージレコードの横にある 設定ボタン をクリックすると、対応する 設定 ページが表示され、そこで Psalm を手動で構成できます。

composer.json の psalm 設定のガターアイコン

Psalm 構成をリセットする

Psalm が最初に構成された後、 composer.json をさらに変更しても、インスペクション構成には影響しません。 新しい変更を適用するには、Psalm 構成をリセットします。

  1. 設定 ダイアログ (Ctrl+Alt+S) で、 PHP | 品質ツール | Psalm に移動します。

  2. 構成 リストの横にある 閲覧ボタン をクリックします。

  3. 開いた Psalm ダイアログで、 Psalm パス フィールドを空にします。

    空の Psalm パスフィールド
  4. composer.json エディターパネルの上部にある 更新する をクリックして、プロジェクト Composer の依存関係を更新します。 詳細については、 依存関係を更新する を参照してください。

PhpStorm は Psalm の構成を新たに実行し、 composer.json への変更を適用します。

PhpStorm で Psalm を構成する

Composer で Psalm をインストールすると 、PhpStorm は vendor/bin フォルダー内の Psalm の実行可能ファイルを自動的に検出し、システムパスで設定された PHP インタープリターを使って実行します。

設定Ctrl+Alt+S )| PHP | 品質ツール | Psalm では、デフォルトの PHP インタープリターの変更や、 手動でダウンロードしてインストールした Psalm 実行可能ファイルへのパスの設定、または PhpStorm で実行時に Psalm へ渡すオプションの追加ができます。

Psalm 設定
  • 構成: このフィールドでは、デフォルトの PHP インタープリターと Psalm 実行可能ファイルへのパスを変更できます。

    1. インタープリターのみを変更するには、プロジェクトで構成されたローカルおよびリモート PHP インタープリターのリストから必要な項目を選択します。

    2. Psalm 実行可能ファイルへのパス、またはインタープリターとパスの両方を変更するには、 構成 リストの横にある 閲覧ボタン をクリックして Psalm ダイアログを開き、 Psalm ダイアログ リファレンスページの説明に従ってフィールドを編集します。

  • 無視対象ファイルの表示 :この設定を使って Psalm 検証インスペクションからファイルを除外します。 詳細については、 品質ツール リファレンスページを参照してください。

  • オプション :この領域で、 Psalm を PhpStorm インスペクションとして実行するためのオプションを追加します。 Psalm 参照ページの説明に従って、フィールドを編集します。

Psalm を PhpStorm インスペクションとして有効にする

Psalm を PhpStorm インスペクションとして設定する方法は、 Composer で Psalm をインストール中に自動的に 、または PhpStorm のインスペクション設定で手動で行う 2 通りの方法があります。

Psalm インスペクションを Composer で有効にする

composer.json スクリプト(英語)セクション内に Psalm 構成ファイルに関する情報を含めることができます。 プロジェクトの依存関係を インストールまたは 更新すると、指定された構成ファイルが検出され、 Psalm 検証インスペクションが自動的に有効になります。

composer.json スクリプト セクションで構成ファイルが指定されていない場合、PhpStorm はさらにプロジェクトルートを確認し、 psalm.xml または psalm.xml.dist のデフォルト名のルールセットを探します。

  • composer.json スクリプト セクションで、 psalm Psalm 起動コマンドをリーフ要素の 1 つに追加します。

    --config 引数と構成ファイルへのパスを指定します。

    "scripts": { "psalm": "vendor/bin/psalm --config=psalm.xml" }

インスペクション設定で Psalm 検証を有効にする

  1. 設定 ダイアログ(Ctrl+Alt+S )で、 エディターインスペクション をクリックします。

  2. 開いている インスペクション ページで、 PHP | 品質ツール ノードを展開し、 Psalm 検証 の横にあるチェックボックスを選択します。

  3. ページ右側のペインで、PhpStorm が Psalm インスペクション出力をどう処理するか構成します:

    1. スコープ: インスペクションアプリケーションを制限する スコープを選択します。

    2. 重大度: インスペクションの 重大度を選択します。 選択した値によって、検出された不一致が PhpStorm でどの程度深刻に扱われ、 インスペクション結果に表示されるかが決まります。

    3. エディター内のハイライト: インスペクションによって検出された問題をエディターでハイライトする方法を選択します。

Psalm キャッシュを初期化する

Psalm 検証インスペクションは単一のファイルで実行できますが、Psalm はプロジェクト全体をパスします。 大規模なプロジェクトでは、初めて実行するときに Psalm の応答を待つと、 Psalm ダイアログの ツールプロセスのタイムアウト フィールドで指定された制限を超えることがあります。 このような場合、PhpStorm はエラーメッセージを表示します:

Psalm 検証インスペクションタイムアウトエラー
  • 初期化キャッシュ リンクをクリックして、Psalm にプロジェクト全体をパスさせ、構成された キャッシュディレクトリ(英語)にキャッシュを生成させます。 リモートインタープリターを使用している場合は、キャッシュディレクトリをリモート環境内からアクセスできる場所に設定してください。

  • Psalm 分析から除外する リンクをクリックすると、現在のファイルを 無視されたファイルリストに追加できます。

Psalm をバッチモードで実行する

  1. メインメニューで コード | コードのインスペクション へ移動します。

  2. 開いた インスペクションスコープの指定 ダイアログで、リストからインスペクションプロファイルを選択するか、 構成… をクリックして インスペクションダイアログを開き、新しいプロファイルを構成します。

    構成… をクリックして、選択したインスペクションプロファイルの範囲内で適用される修正を確認し、 Psalm 検証インスペクションが有効になっていることを確認することもできます。

  3. インスペクションの結果を 問題ツールウィンドウ で見る。 Psalm により報告されたエラーや警告は、PhpStorm の内部インスペクションと区別するために接頭辞が付けられています。

Psalm 検証インスペクションからファイルを除外する

Psalm の応答を待つ時間が Psalm ダイアログの ツールプロセスのタイムアウト フィールドで指定された制限を超える場合、PhpStorm はそのファイルを 無視リストに追加することを提案します。

  1. 設定 ダイアログ (Ctrl+Alt+S) で、 PHP | 品質ツール | Psalm に移動します。

  2. 無視対象ファイルの表示 リンクをクリックします。

    • ファイルを追加するには、 追加ボタン をクリックし、表示されるダイアログで目的のファイルを探します。

    • リストからファイルを削除して Psalm に再度処理させるには、ファイルを選択して 削除ボタン をクリックします。

    • 一覧からすべてのファイルを削除するには、 閉じるボタン をクリックします。

拡張 @psalm アノテーションを使用する

通常の PHPDoc コメント に加えて、PhpStorm は Psalm 独自の アノテーションもサポートしており、Psalm によるコード解析で使われます。 アノテーションを指定する場合、ほとんどの場合 @psalm- 部分は省略できます。 コード補完を利用するには、 Ctrl+Space を押してください。

Providing a Psalm annotation

詳しくは、 PHP の型チェックを参照してください。

2026 年 5 月 22 日