PhpStorm 2020.3 ヘルプ

自動インポート

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

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

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

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

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

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

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

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

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

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

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

      • All :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 ステートメントを挿入します。

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

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

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

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

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

Clean up code with a quick-fix

インポートの最適化

インポートの最適化機能を使用すると、設定 / 環境設定 | エディター | コードスタイル | <言語> | インポートで指定されたルールに従って、未使用のインポートを削除し、現在のファイルまたはディレクトリ内のすべてのファイルのインポートステートメントを一度に整理できます。

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

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

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

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

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

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

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

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

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

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

Remove use statement

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

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

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

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

関連ページ:

JavaScript

PhpStorm を使用すると、JavaScript および Node.js を使用して最新の Web、モバイル、デスクトップアプリケーションを開発できます。PhpStorm は、React、Angular、Vue.js、その他のフレームワークもサポートし、Web 開発用のさまざまなツールとの緊密な統合を提供します。JavaScript 対応のコーディング支援には、キーワード、ラベル、変数、パラメーター、関数の補完、エラーと構文のハイライト、フォーマット、多数のコードインスペクションとクイックフィック...

TypeScript

PhpStorm は、TypeScript ソースコードの開発、実行、デバッグをサポートしています。PhpStorm は .ts および .tsx ファイルを認識し、追加の手順なしで編集するための幅広いコーディング支援を提供します。TypeScript ファイルはアイコンでマークされています。TypeScript 対応のコーディング支援には、キーワード、ラベル、変数、パラメーター、関数の補完、エラーと構文のハイライト、フォーマット、多数のコードインスペクションとクイックフィックス、および一般的で Type...

XML

PhpStorm は、構造の検証、フォーマット、インデント(XML コードスタイルによる、バインドされていない名前空間のインポート、コード構造の表示、タグのアンラップと削除、インスタンスドキュメントからの DTD ファイルとスキーマの生成を含む XML を強力にサポートします。構文およびエラーのハイライトとして、コード補完、インテンションアクション、クイックドキュメントルックアップなど。PhpStorm は、Apache Software Foundation Group によって開発された X...

インスペクション

このページを使用して、インスペクションプロファイルのカスタマイズ、インスペクション重大度レベルの構成、インスペクションの無効化と有効化、および異なるスコープのインスペクションの構成を行います。変更されたインスペクションは青でハイライトされます。プロファイルの管理:プロファイル設定したいプロファイルの名前を選択します。適用をクリックすると、選択したプロファイルがプロジェクトのハイライトに自動的に使用されます。IDE にコピー / プロジェクトにコピー: プロジェクトまたはグローバル(IDE)レベルで...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PhpStorm はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します(提案にはライブテンプレートも含まれます)。基本補完は英語以外のキーボードレイアウトでも利用できます。基本コード補完がフィールド、パラメ...