PhpStorm 2019.3ヘルプ

自動インポート

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

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

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

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

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

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

インポート文を自動的に追加する

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

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | 一般 | 自動インポートをクリックします。

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

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

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

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

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

        the Select Classes To Import dialog: reuse existing alias
      • なし : インポート文は追加されません。未解決の参照については質問されません。

      コピーした要素がコード内で正しく解決されている(つまり、未定義のクラスまたは 未定義のメソッド インスペクションによって強調表示されていない)場合に限り、貼り付けでインポートを追加でき、プロジェクトのインデックス作成は完了します。

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

    • 特定のネームスペースに属するクラスまたはファイルを入力するときに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 ステートメントを挿入します。

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

  1. PHPクラスを編集および参照するためにファイルを開きます。参照クラスがバインドされていない場合、PhpStormはそれを強調表示します。

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

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

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

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

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

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

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

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

  1. メインメニューからコード | コードのクリーンアップを選択します。

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

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

    the Code Cleanup Inspections dialog: FQN Inspections
  4. OKをクリックしてコードのクリーンアップを開始します。

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

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

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

インポートの最適化

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

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

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

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

    • メインメニューからコード | インポートの最適化を選択します(または Ctrl+Alt+Oを押します)。

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

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

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

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

  1. import文にキャレットを置き、Alt+Enter を押します(または、インテンションアクションの the Intention action button アイコンを使用します)。

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

修正されたファイルのインポートを自動的に最適化する

プロジェクトがバージョン管理されている場合は、修正したファイルのインポートをVCSにコミットする前に最適化するようにPhpStormに指示できます。

  1. メインメニューからVCS | コミットを選択します(または Ctrl+Kを押します)。

  2. 変更のコミットダイアログのコミットする前に領域で、インポートの最適化チェックボックスを選択します。

最終更新日: 2019年12月13日

関連ページ:

JavaScript

PhpStormを使用すると、JavaScriptおよびNode.jsを使用して最新のWeb、モバイル、およびデスクトップアプリケーションを開発できます。PhpStormは、JavaScriptおよびTypeScriptプログラミング言語、ReactおよびAngularフレームワークをサポートし、W...

TypeScript

PhpStormはTypeScriptソースコードの開発、実行、およびデバッグをサポートしています。PhpStormは.tsファイルを認識し、あなたからの追加のステップなしで編集するためのコーディング支援のフルレンジを提供します。TypeScriptファイルはアイコンでマークされています。TypeS...

XML

PhpStormは以下を含む強力なXML編集サポートを提供します:検証と構文強調表示。コード補完.、インデント( , ).、フォーマットはXMLコードスタイルに準拠しています。インテンション・アクション.、バインドされていない名前空間のインポート。コード構造の表示.、ソースコード のナビゲ...

コードクリーンアップスコープの指定ダイアログ

コードクリーンアップのスコープを指定します。コードのクリーンアップとは、潜在的に問題のあるコードフラグメントを見つけて、すぐに自動的に修正することです。プロジェクト全体プロジェクト全体のコードクリーンアップを実行する場合は、このオプションを選択します。コミットされていないファイルこのオプションは、バ...

インスペクション

WindowsとLinux用のmacOS用このページを使用して、インスペクションプロファイルのカスタマイズ、インスペクションの重大度の設定、インスペクションの無効化と有効化、およびさまざまなスコープに対するインスペクションの設定を行います。このページは次の領域に分かれています。プロファイルを管理する...

コードとパスの自動補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完を使用すると、可視性の範囲内でクラス、メソッド、およびキーワードの名前を完成させることができます。コード補完を起動すると、PhpStormは...