PhpStorm 2026.3 Help

自動インポート

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

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

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

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

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

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

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

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

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

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

    • PhpStorm が自動的にコードの貼り付けられたブロックのクラスとメソッドのために use ステートメントを追加するようにするために、 貼り付け時にインポートを挿入 リストから望ましい振舞いを選んでください:

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

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

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

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

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

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

    • 特定の名前空間に属するクラスまたはファイルを入力するときに、PhpStorm が自動的に PHP 名前空間をインポートし、 use ステートメントを追加し、短いクラス名をその場で完成させるには、 名前空間スコープで自動インポートを使用可能にする チェックボックスをオンにします。 このチェックボックスはデフォルトで選択されています。

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

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

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

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

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

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

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

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

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

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

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

    Automatically add a use statement.png

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

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

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

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

    Add a use statement added for an undefined class.png

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

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

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

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

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

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

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

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

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

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

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

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

  2. the Intention action button をクリックするか Alt+Enter を押して、ポップアップメニューから コードのクリーンアップ を選択します。

Clean up code with a quick-fix

インポートの最適化

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

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

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

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

  2. 以下のいずれかを行います。

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

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

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

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

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

  1. キャレットをインポートステートメントに置き、 Alt+Enter を押すか、 the Intention action button アイコンを使用します。

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

use ステートメントを削除

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

プロジェクトがバージョン管理されている場合は、変更されたファイルを VCS にコミットする前に、IntelliJ IDEA を構成して、変更されたファイルのインポートを最適化できます。

  1. Alt+0 を押して コミット ツールウィンドウを開き、 Show Commit Options 設定ボタン をクリックします。

  2. Show Commit Options をクリックし、コミットメッセージ領域で インポートの最適化 チェックボックスを選択します。

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

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

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

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

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

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

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

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

再フォーマットされるたびに、ファイル内のインポートを最適化するように IntelliJ IDEA に指示できます。

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

    ファイルの整形ダイアログ

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

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

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

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

2026 年 11 月 9 日