PhpStorm 2026.1 Help

自動インポート

現在のファイルの外で定義された PHP クラスを参照すると、PhpStorm がそのクラス定義を見つけて、次のいずれかを実行できます:

  • クラスが定義されている名前空間を含む、完全修飾クラス名を自動的に補完します。

  • 短いクラス名を自動的に補完させ、クラスが定義されている名前空間をインポートします。

  • クイックフィックスを使用してネームスペースを手動でインポートします。

使用 ステートメントがインポートセクションに追加されますが、キャレットは現在の位置から移動せず、現在の編集セッションは中断されません。 この機能は インポートアシスタントとして知られています。

JavaScript および TypeScript ファイルでは、PhpStorm は、モジュール、クラス、コンポーネント、エクスポート可能なその他のシンボルや XML 名前空間のインポートステートメントを自動的に追加します。 JavaScript での自動インポートTypeScript での自動インポートXML 名前空間のインポートの詳細を参照してください。

インポートステートメントを自動的に追加する

選択肢がない場合は、インポートステートメントを自動的に追加するように IDE を設定できます。

  1. Ctrl+Alt+S を押して設定を開き、 エディター | 一般 | 自動インポート を選択します。

  2. PHP セクションで、名前空間の自動インポートを設定します。

    • PhpStorm で、貼り付けたコードブロック内のクラスやメソッドに対して自動的に 使用 ステートメントを追加するには、 インポートの挿入 リストから希望の動作を選択してください:

      • すべて: import ステートメントは、貼り付けられたコードブロックにあるすべての見つからないクラスとメソッドに対して自動的に追加されます。

      • 確認する :PhpStorm はインポートしたいクラスやメソッドを選択するように促します。

        貼り付けられたクラスがターゲットコードで エイリアスを介してすでに参照されている場合、PhpStorm は新しいインポートステートメントを作成する代わりに、そのエイリアスの再利用を促します。

        インポートするクラスの選択ダイアログ: 既存のエイリアスを再利用
      • なし: インポート文は追加されず、未解決の参照について尋ねられることはありません。

      貼り付け時にインポートを追加できるのは、コピーした要素がコード内で適切に解決され (つまり、 未定義のクラスまたは 未定義のメソッドインスペクションによってハイライトされていない)、プロジェクト分析が完了している場合のみであることに注意してください。

    • 特定のネームスペースに属していないファイルを入力するときに自動ネームスペースインポートを適用するには、 ファイルスコープで自動インポートを有効化 チェックボックスをオンにします。

    • 特定の名前空間に属するクラスまたはファイルを入力中に、PhpStorm が自動的に PHP 名前空間をインポートし、 use ステートメントを追加し、短いクラス名を即時補完するには、 名前空間スコープで自動インポートを有効化 チェックボックスを選択します。 このチェックボックスはデフォルトで選択されています。

    • 必要に応じて、クラス、関数、定数に対して個別にグローバル名前空間からの自動インポートを設定します。

      • FQN を優先する :選択した場合、PhpStorm は、 グローバル名前空間からのシンボルの完全修飾名を、先頭にバックスラッシュを付けた形で自動的に挿入します。例:

        namespace A; $myException = new \Exception(); $a = \strlen("Test"); echo \PHP_EOL;
      • インポートを優先する :選択した場合、PhpStorm は 使用 ステートメントを グローバル名前空間からのシンボルに対して自動的に追加します(これが競合しない場合)、例:

        namespace A; use Exception; use const PHP_EOL; use function strlen; $myException = new Exception(); $a = strlen("Test"); echo PHP_EOL;
      • フォールバックを優先 :選択した場合、PhpStorm は関数や定数の完全修飾名を挿入せず、また 使用 ステートメントによるインポートも行いません。 この場合、 フォールバックグローバル関数または定数が優先されます:

        namespace A; use Exception; $myException = new Exception(); $a = strlen("Test"); echo PHP_EOL;

自動インポートを無効にする

自動インポートを完全に無効化したい場合は、次のことを確認してください:

その場で PHP ネームスペースをインポートする

  1. 実行中のネームスペースのインポートを有効にします

  2. 編集するファイルを開き、クラスの短い名前を入力し始めます。

  3. コード補完候補リストから、希望のクラス名を選択します。 PhpStorm は短いクラス名を補完し、選択したクラスが定義されている名前空間の 使用 ステートメントを挿入します。

    Automatically add a use statement.png

クイックフィックスを使用してクラスをインポートする

  1. 編集用にファイルを開き、PHP クラスを参照します。 参照されたクラスが見つからない場合、PhpStorm はそれをハイライトします:

    ps_undefined_class.png
  2. Alt+Enter を押して、クラスの宣言が検出された名前空間をインポートするという提案を受け入れます。

    PhpStorm は名前空間宣言ステートメント(使用 ステートメント)を挿入します。

    Add a use statement added for an undefined class.png

コードクリーンアップを使用して完全修飾クラス名を短くする

PhpStorm は、完全修飾クラス名を短くするための次のインスペクションおよびクイックフィックスを提供します:

  • 完全修飾名の使用インスペクションは、 使用 ステートメントを追加することによって削除できる完全修飾クラス名をハイライトしています。

  • 不要な完全修飾名インスペクションは、 使用 ステートメントを追加せずに削除できる完全修飾クラス名をハイライトしています。

コードのクリーンアップを使用すると、対応するクイックフィックスを特定のスコープに自動的に適用できます。

特定のスコープのコードをクリーンアップする

  1. メインメニューで コード | コードのクリーンアップ へ移動します。

  2. 開いた コードクリーンアップスコープの指定ダイアログで、インスペクションプロファイルを適用するスコープを選択します。

  3. リストからインスペクションプロファイルを選択するか、 構成 をクリックして、開いた コードのクリーンアップインスペクションダイアログで新しいプロファイルを構成します。 また、 構成 をクリックして、適用される修正を確認し、 不要な完全修飾名および 完全修飾名の使用インスペクションが有効になっていることを確認することもできます。

    コードクリーンアップインスペクションダイアログ: FQN インスペクション
  4. OK をクリックしてコードのクリーンアップを開始します。

現在のファイルのコードをクリーンアップする

  1. エディターで、 不要な完全修飾名または 完全修飾名の使用インスペクションでハイライトされている完全修飾クラス名にキャレットを置きます。

  2. インテンションアクションボタン をクリックするか Alt+Enter を押して、ポップアップメニューから コードのクリーンアップ を選択します。

Clean up code with a quick-fix

インポートの最適化

インポートの最適化 機能は、未使用のインポートを削除し、現在のファイルまたはディレクトリ内のすべてのファイルのインポートステートメントを一度に整理できます。

PHP のインポート最適化ルールをカスタマイズするには、 設定 | エディター | コードスタイル | PHP | コード変換 | 'use' ステートメントを並べ替える および 設定 | エディター | 一般 | 自動インポート | PHP に移動します。

すべてのインポートを最適化する

  1. プロジェクト ツールウィンドウ(表示 | Tool Windows | プロジェクト​ )でファイルまたはディレクトリを選択します。

  2. 以下のいずれかを行ってください:

    • メインメニューで、 コード | インポートの最適化 に移動します (または Ctrl+Alt+O を押します)。

    • コンテキストメニューから インポートの最適化 を選択します。

  3. (ディレクトリを選択した場合)ディレクトリ内のすべてのファイルでインポートを最適化するか、ローカルで変更されたファイルのみでインポートを最適化するか(プロジェクトがバージョン管理下にある場合)を選択し、 実行 をクリックします。

インポートを最適化する際、PhpStorm は 使用 ステートメントをアルファベット順または長さ順に自動的に並べ替えることができます。 優先オプションを選択するには、 設定 ダイアログ (Ctrl+Alt+S) で エディター | コードスタイル | PHP に移動し、 コード変換 タブに切り替えます。 次に、 'use' ステートメントを並べ替える チェックボックスを選択し、 使用 ステートメントの並べ替え方法を選択します。

1 つのファイルでインポートを最適化する

  1. キャレットをインポートステートメントに置き、 Alt+Enter を押すか、 インテンションアクションボタン アイコンを使用します。

  2. use ステートメントを削除 を選択します。

use ステートメントを削除

コミット時にインポートを最適化する

プロジェクトがバージョン管理下にある場合、PhpStorm を設定して変更されたファイルを VCS にコミットする前にインポートを最適化できます。

  1. Alt+0 を押して コミット ツールウィンドウを開き、 コミットオプションを表示 設定ボタン をクリックします。

  2. コミットオプションを表示 をクリックし、コミットメッセージ領域で インポートの最適化 チェックボックスを選択します。

    コミット前にインポートを最適化する

保存時にインポートを自動的に最適化する

変更が保存されたときに、変更されたファイルへのインポートを自動的に最適化するように IDE を構成できます。

  1. Ctrl+Alt+S を押して設定を開き、 ツール | 保存時のアクション を選択します。

  2. インポートの最適化 オプションを有効化します。

    さらに、 すべてのファイルタイプ リストから、インポートを最適化するファイルのタイプを選択します。

  3. 変更を適用して、ダイアログを閉じます。

ファイルの整形時にインポートを最適化する

ファイルが再フォーマットされるたびに、PhpStorm にファイル内のインポートを最適化させることができます。

  • エディタでファイルを開き、 Ctrl+Alt+Shift+L を押して、開いた ファイルの整形 ダイアログで インポートの最適化 チェックボックスが選択されていることを確認します。

    ファイル整形ダイアログ

その後、このプロジェクトで Ctrl+Alt+L を押すたびに、PhpStorm はインポートを自動的に最適化します。

フォルダー内のすべてのファイルのインポートを最適化する

  1. プロジェクト ツールウィンドウでフォルダーを右クリックし、 インポートの最適化 を選択します。

  2. インポートの最適化 ダイアログで、 実行 をクリックします。

2026 年 5 月 22 日