PhpStorm 2020.2 ヘルプ

自動インポート

現在のファイルの外部で定義されている 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 ステートメントを挿入します。

    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 開発用のさまざまなツールとの...

TypeScript

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

XML

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

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

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

インスペクション

macOSのPhpStorm | 環境設定 | エディター | インスペクションこのページを使用して、インスペクションプロファイルのカスタマイズ、インスペクション重大度レベルの構成、インスペクションの無効化と有効化、および異なるスコープのインスペクションの構成を行います。変更されたインスペクションは...

コード補完

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