PhpStorm 2020.3 ヘルプ

インスペクションの重大度の構成

インスペクションの重大度は、検出されたコードの問題がプロジェクトにどれほど深刻な影響を及ぼすかを示します。すべての重要度レベルには、独自のハイライトスタイルがあります。PhpStorm には、事前定義された重大度レベルのセットがあります。

  • Error icon エラー : 構文エラーをマークします。

  • Warning icon 警告 : バグを生成したり、機能拡張を必要とする可能性のあるコードフラグメントをマークします。

  • Weak Warning icon 弱い警告 : 改善または最適化できるコードフラグメントをマークします(冗長コード、重複したコードフラグメントなど)。

  • Server problem icon サーバーの問題 : 外部ビルドサーバー(TeamCity など)に起因する問題をマークします。

  • the Typo icon タイポ : スペルと文法の誤りをマークします。

  • ハイライトなし、修正提示のみ : コードをハイライトしません。利用可能な修正のリストは、Alt+Enter を押すことによって呼び出されます。

重大度レベルは問題を示すように設計されており、コードの実行に影響を与えません。スペルミスの重大度をタイポからエラーに変更しても、アプリケーションの実行には影響しません。

すべてのスコープでインスペクションの重大度を変更する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+Sエディター | インスペクションに進み、変更するプロファイルを選択します。

  2. リストから必要なインスペクションを選択してください。有効になっていることを確認してください。

  3. 重大度リストから、新しい重大度を選択します。インスペクションを右クリックして、コンテキストメニューから重大度を選択することもできます。

  4. 変更を適用してダイアログを閉じます。変更されたインスペクションは選択されたプロファイルに新しい重大度レベルを持ちます。

利用可能な重大度のリストに必要なものがない場合は、新しいものを作成できます。

特定のスコープでインスペクションの重大度を変更する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションに移動して、変更を行うプロファイルを選択します。

  2. リストから必要なインスペクションを選択してください。有効になっていることを確認してください。

  3. すべてのスコープリストから、重大度を変更したいスコープを選択します。

    PhpStorm は、2 つのスコープ(選択されたスコープとその他すべての場所)の重大度を示しています。

    もう 1 つスコープを追加するには、the Add button をクリックします。新しいスコープを作成したい場合は、スコープのリストからスコープ順序の編集を選択して the Edit icon をクリックします。

  4. リストから必要な重大度を選択して変更を適用します。

    Changing inspection severity by scope

複数のスコープでインスペクションを有効にし、これらのスコープ内のファイルが一致する場合、IDE はこれらのスコープをリスト内の順序に従って処理します。詳しくは、スコープの順序を変更するを参照してください。

エラーのハイライトを構成する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションに移動して、変更を行うプロファイルを選択します。

  2. 重大度レベルのリストから重大度の編集を選択します。

  3. フォーマットを変更したい重大度を選択して、設定の編集 | 色とフォントをクリックします。

  4. 新しいハイライト規則を設定します。ダイアログ下部のプレビューセクションを使用してください。

    Changing error highlighting

エディター | カラースキーム | 一般の設定でハイライトを変更することもできます。

新しい重大度レベルを作成する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションに移動し、新しい重大度レベルを作成するプロファイルを選択します。

  2. 任意のインスペクションをクリックして、重大度レベルのリストから重大度の編集を選択します。

  3. 重要度エディターダイアログで、the Add button をクリックして新しい重要度レベルを指定します。

  4. Up および Down ボタンを使用してフォーマットを設定し、優先順位を設定します。重要度をリストに追加するほど優先順位が高くなります。

  5. 終了したら OK をクリックします。

    Creating a new severity

未定義要素用のインスペクションのカスタマイズ

PHP コンテキストでは、未定義のフィールドおよび未定義のメソッドインスペクションは、実際には問題が発生していないのに、誤って重大な問題を報告する場合があります。これは、参照されているクラスに __get()__set()、または __call() マジックメソッド(英語)が含まれているときに、プロパティにアクセスまたは値を割り当てようとしたり、明示的に定義されていないメソッドを呼び出そうとした場合に発生します。これらのメソッドは未定義のプロパティまたはメソッドが参照されるたびに呼び出されるため、このような場合はエラーを報告しないでください。ただし、PhpStorm は、インスペクションに指定した重大度レベルに応じて、エラーまたは警告として扱います。

未定義フィールドエラーの報告を抑制

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションに移動します。

  2. リストから未定義のフィールドインスペクションを選択します。

  3. オプション領域で、マジックメソッドを使用してフィールドへのアクセスを通知するPHP の動的フィールド宣言について通知するチェックボックスをオフにします。

チェックボックスが選択されていると、クラスに __get() および __set() マジックメソッドが含まれていても、PhpStorm はエラーを報告します。

未定義のメソッドエラーの報告を調整する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションに移動します。

  2. リストから未定義のメソッドインスペクションを選択します。

  3. オプション領域で、__magic メソッドがクラスに存在する場合、ダウングレードの重大度チェックボックスを選択します。

未定義のメソッドは、インスペクション一般に指定されているものよりも 1 段階低い重大度レベルで表示されます(デフォルトでは、警告ではなく情報)。

未定義の変数エラーのレポートを構成する

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、エディター | インスペクションに移動します。

  2. リストから未定義のフィールドインスペクションを選択します。

  3. オプションエリアで、インスペクションを次のように設定します。

    • グローバル空間でインスペクションを有効にする : このチェックボックスを選択して、関数 / メソッド、クラス、名前空間の外部の変数、つまりグローバル空間(英語)でインスペクションを実行します。

      Undefined variable in global space
    • 変数が定義されていない可能性があることを報告します : このチェックボックスを選択すると、変数の定義が確実に欠落していなくてもエラーを報告します。このような状況は、変数がいくつかのパスで使用されている場合に発生することがあり、そのうちのいくつかは、たとえば if() ステートメントでは到達できないことがあります。

      ps_undefined_var_if_statement.png
    • 現在のファイルの外で変数の定義を検索します : 選択した場合、現在のファイルに include または require ステートメントがなく、プロジェクトで変数の定義が見つからない場合にのみ、IDE はグローバル変数を未定義として報告します。

      それ以外の場合、選択されていなければ、IDE は現在のファイルでのみ変数の定義を検索し、include または require ステートメントがあっても無視します。

関連ページ:

インスペクションを実行

PhpStorm は、エディターで開かれているファイル内のコードを分析し、入力時に問題のあるコードをハイライトします。さらに、選択したファイルのスコープで必要なインスペクションまたは一連のインスペクションを手動で実行できます。この場合、ファイルで検出されたすべての問題の包括的なレポートが表示されます。現在のファイルの即時分析:IDE はコードを継続的に分析し、問題を検索します。エディターの右上隅のウィジェットには、現在のファイルで検出された各重大度の問題の数が表示されます。ウィジェットのビュー...

プロファイルのカスタマイズ

インスペクションプロファイルは、有効なインスペクション、それらが分析するファイルの範囲、およびそれらの重大度設定に関する情報を保持します。PhpStorm には、2 種類のプロファイルがあります。プロファイル IDE に保管は、PhpStorm 構成ディレクトリの inspection フォルダーに保存され、すべてのプロジェクトで使用できます。プロジェクトにコピーオプションを使用して、IDE プロファイルを現在のプロジェクトにコピーできます。プロファイルプロジェクトに保管は、.idea ディレクトリの in...

インスペクションの無効化と有効化

いくつかのインスペクションは現在見たくない問題を報告するかもしれません。この場合、無効にしたり抑制したりできます。インスペクションを使用不可にすると、無効になります。これは、このインスペクションが検出するように設計されているという問題について、コード分析エンジンがプロジェクトファイルの検索を停止することを意味します。インスペクションを無効にすると、現在のインスペクションプロファイルで無効になります。他のプロファイルでは有効のままです。インスペクションを無効にする:設定でインスペクションを無効に