PhpStorm 2020.1ヘルプ

PHP_CodeSniffer

PhpStormは、PHP_CodeSniffer(英語)ツールとの統合を通じてコードスタイルチェックを提供します。これは、コードを検証して、選択したコーディング標準との整合性を確認します。事前定義されたコーディング標準(英語)の 1つを指定するか、デフォルトのPHP_CodeSnifferの標準ディレクトリ外のルートディレクトリを使用して、独自に定義したコーディング標準(英語)を使用できます。さらに、カスタムコーディングスタイルをチームと共有できます。

コマンドラインの代わりにPhpStormからPHP_CodeSnifferを使用するには、それをPhpStormに登録し、PhpStorm コードインスペクションとして構成する必要があります。PhpStormにインストールして有効にすると、ツールは開いているすべてのPHPファイルで使用できるようになり、起動するための追加の手順は必要ありません。オンザフライのコードチェックは、ファイルが更新されるたびにアクティブになるため、発見された問題を簡単に取り除くことができます。

PHP_CodeSnifferによってオンザフライで報告されたエラーと警告は、ポップアップメッセージとして表示されます。ツールをバッチモードで実行すると、インスペクション結果ツールウィンドウにエラーと警告が表示されます。各メッセージには、PhpStorm内部インスペクションと区別するために phpcs プレフィックスが付いています。PhpStormはPHPコードの美化と修正(英語)ツールとも統合されており、検出された課題の多くを修正できます。

PHP_CodeSnifferをインストールして構成する

PHP_CodeSnifferスクリプトは、ローカルスクリプト、PHPインタープリターに関連付けられたスクリプト、またはプロジェクトの依存関係として宣言され、Composerを介してインストールされるスクリプトとして使用できます。これは推奨される推奨方法です。

ComposerでPHP_CodeSnifferをインストールする

開始する前に、Composerがマシンにインストールされ、Composer依存関係マネージャーに従って現在のプロジェクトで初期化されていることを確認してください。

PHP_CodeSnifferをComposerと共にインストールすると、PhpStormは必要なスクリプトを自動的にダウンロードし、IDEに登録し、オプションで対応するコードインスペクションを有効にして構成します。

  1. composer.json内で、squizlabs / php_codesniffer依存関係レコードを require または require-dev セクションに追加します。 Ctrl+Space を押して、パッケージ名とバージョンの両方のコード補完を取得します。

  2. 以下のいずれか 1 つを実行します:

    • エディターパネルの上部にある インストールショートカットリンクをクリックします。

    • インストールされていないComposerパッケージ インスペクションが有効になっている場合、PhpStormは、現在インストールされていない宣言済みの依存関係を強調表示します。 Alt+Enter を押して、特定の依存関係をインストールするか、すべての依存関係を一度にインストールするかを選択します。

PHP_CodeSniffer設定をリセット

PHP_CodeSnifferが最初に構成された後、たとえば別のルールセットを指定するなど、composer.jsonをさらに変更しても、インスペクション構成には影響しません。新しい変更を適用するには、PHP_CodeSniffer構成をリセットします。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語 & フレームワーク | PHP | 品質ツールにナビゲートします。

  2. 開いている品質ツールページで、PHP_CodeSniffer領域を展開し、構成リストの横にある the Browse button をクリックします。

  3. 開いたPHP_CodeSnifferダイアログで、PHP_CodeSnifferパスフィールドを空にします。

    Empty PHP_CodeSniffer path field
  4. composer.jsonエディターパネルの上部にある更新をクリックして、プロジェクトComposerの依存関係を更新します。詳細については、依存関係の更新を参照してください。

PhpStormは、PHP_CodeSniffer構成を新たに実行するため、composer.jsonの変更を適用します。

PHP_CodeSnifferを手動で設定する

手動でダウンロードしたローカルPHPコード品質ツールスクリプトまたはPHPインタープリターに関連するスクリプトを使用することができます。多くのローカルおよびリモート PHPインタープリターが存在する可能性があります。設定/環境設定ダイアログのPHPページで指定されたものはプロジェクトのデフォルトとみなされます。リモート PHP インタープリターの構成またはローカルPHPインタープリターを構成するでPHPインタープリターを設定する方法の詳細を参照してください。

使用するPHP_CodeSnifferスクリプトを選択する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語 & フレームワーク | PHP | 品質ツールにナビゲートします。

  2. 開いた品質ツールページで、PHP_CodeSniffer領域を展開します。構成 リストから、PHP_CodeSnifferスクリプトを選択します。

    • 特定のリモート PHPインタープリターに関連するスクリプトを使用するには、このインタープリターの名前を選択します。

    • To use a local script, choose ローカル . In this case the local PHP_CodeSniffer will be executed no matter which PHP interpreter - local or remote - is used in the project. Note that there can be only one ローカル configuration for PHP_CodeSniffer because PhpStorm runs a script ( script.bat for Windows or script for Linux and macOS) that contains a path to a PHP engine.

    • 既定のプロジェクトインタープリター、つまり設定/環境設定ダイアログのPHPページで選択したスクリプトを使用するには、デフォルトでプロジェクトインタープリターを選択します。

ローカルのPHP_CodeSnifferスクリプトを構成する

  1. PHP_CodeSniffer(英語)スクリプトをダウンロードしてインストールします。

    PHP_CodeSnifferのインストールを確認するには、インストールディレクトリに切り替えて、次のコマンドを実行します。

    phpcs --version

    ツールが利用可能な場合は、次の形式のメッセージが表示されます。

    PHP_CodeSniffer version <version> (stable) by Squiz. (http://www.squiz.net)

    独自のカスタムコーディング標準に対してコードをチェックするには、それを作成し(英語)ます。ルールと、指すruleset.xmlファイルをコーディング標準のルートディレクトリに保存します。

  2. ローカルのPHP_CodeSnifferスクリプトをPhpStormに登録します。

    • 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語 & フレームワーク | PHP | 品質ツールにナビゲートします。

    • 開いている品質ツールページで、PHP_CodeSniffer領域を展開し、構成リストの横にある the Browse button をクリックします。

    • In the PHP_CodeSniffer dialog that opens, specify the location of the script_bat or script PHP_CodeSniffer executable in the PHP_CodeSnifferパス field. Type the path manually or click the Browse button and select the relevant folder in the dialog that opens.

      To check that the specified path to script.bat or script ensures interaction between PhpStorm and PHP_CodeSniffer, that is, the tool can be launched from PhpStorm and PhpStorm will receive problem reports from it, click the 検証 button. This validation is equal to running the script --version command. If validation passes successfully, PhpStorm displays the information on the detected PHP_CodeSniffer version.

PHPインタープリターに関連付けられたPHP_CodeSnifferスクリプトを構成する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語 & フレームワーク | PHP | 品質ツールに移動します。

  2. 開いた品質ツールページで、PHP_CodeSniffer領域を展開し、構成 リストの横にある the Browse button をクリックします。PHP_CodeSnifferダイアログが開き、左側のペインに構成済みのすべてのPHP_CodeSnifferスクリプトのリストが表示されます。そのうちの1つはローカルタイプであり、その他はスクリプトが関連付けられているPHPインタープリターにちなんで命名されています。ツールバーの the Add button をクリックします。

  3. 開いているリモートインタープリターによるPHP_CodeSnifferダイアログで、リモート PHPインタープリターを選択して、関連するスクリプトを使用します。リストに関連するインタープリターが含まれていない場合は、the Browse button をクリックし、リモート PHP インタープリターの構成の説明に従ってCLI インタープリターダイアログでリモートインタープリターを設定します。

    OKをクリックすると、PhpStormによってPHP_CodeSnifferダイアログに戻り、新しいPHP_CodeSniffer構成がリストに追加され、右側のペインに選択されたリモート PHPインタープリター、それに関連付けられたPHP_CodeSnifferへのパス、および高度なPHP_CodeSnifferオプションが表示されます。

詳細なPHP_CodeSnifferオプションを設定する

PhpStormでは、高度なPHP_CodeSnifferオプションを指定できるため、コンピューターの構成と使用されるルールセットに応じてPHP_CodeSnifferプロセスの動作を微調整できます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語 & フレームワーク | PHP | 品質ツールにナビゲートします。

  2. 開いている品質ツールページで、PHP_CodeSniffer領域を展開します。ファイルごとの最大メッセージ数 フィールドには、ファイルに対して報告されるメッセージの総数の上限を設定します。この制限を超えるメッセージはすべて拒否され、インスペクションの実行後、PhpStormはエディタータブの上部またはインスペクション結果ツールウィンドウに警告メッセージを表示します。

  3. ツールプロセスのタイムアウトフィールドで、PhpStormがPHP_CodeSnifferからの結果を待つ時間を指定します。その結果、CPUとメモリの過剰な使用を防ぐためにプロセスが強制終了されます。

  4. If necessary, in the PHPコードの美化と修正の設定 area provide the path to the PHPコードの美化と修正(英語) tool in the phpcbfへのパス field. This will let you automatically fix many of the errors detected by PHP_CodeSniffer. If you install PHP_CodeSniffer with Composer, PHPコードの美化と修正 will be detected and set up automatically.

PHP_CodeSnifferをPhpStorm インスペクションとして構成する

Composerを使用してPHP_CodeSniffer インスペクションを構成する

You can include information on the default and custom PHP_CodeSniffer rulesets inside the scripts(英語) section of composer.json . When you install or update project dependencies, the specified rulesets will be detected and the PHP_CodeSniffer検証 inspection will be enabled automatically.

composer.jsonscripts セクションでルールセットが指定されていない場合、PhpStormはさらにプロジェクトルートをチェックして、phpcs.xmlのデフォルト名でルールセットを見つけます。ファイルが存在する場合、インスペクションのカスタムルールセットとして自動的に選択されます。

  • In the scripts section of composer.json , add the phpcs PHP_CodeSniffer launch command into one of the leaf elements.

    使用するコーディング標準を示すために --standard 引数を指定します。例:次のレコードを追加するとPSR2にコーディング標準が設定されます。

    "scripts": { "phpcs": "phpcs --standard=PSR2" }

    次のレコードを追加すると、コーディング標準がカスタムに設定され、ルールセットへのパスが<プロジェクトルート> /phpcs.xmlに設定されます。

    "scripts": { "phpcs": "phpcs --standard=phpcs.xml" }

さらに、composer.jsonrequire-dev セクション内にカスタムの非PSR標準依存関係を提供して、それを自動的に検出させることができます。現在、次の標準がサポートされています。

PHP_CodeSniffer インスペクションを手動で構成する

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

  2. 開いているインスペクションページで、PHP | 品質ツールノードを展開し、PHP_CodeSniffer検証の横にあるチェックボックスを選択します。

  3. ページの右側のペインで、オプションエリアのコントロールを使用してPHP_CodeSnifferツールを構成します。

    1. From the 重大度 list, choose the severity degree for the PHP_CodeSniffer inspection. The selected value determines how serious the detected discrepancies will be treated by PhpStorm and presented in the inspection results.

    2. スコープリストから、インスペクションアプリケーションを制限するスコープを選択します。

    3. 拡張子を持つファイルを確認するフィールドに、PHP_CodeSnifferによってチェックされるファイル拡張子のコンマ区切りリストを提供します。

    4. エラーに加えてPHP_CodeSnifferが警告を報告するようにするには、警告を次のように表示する... チェックボックスを選択し、リストから重大度を選択します。エラーのみを報告し、警告の報告を抑制するには、警告を次のように表示する...チェックボックスをオフにします。

    5. カスタムのサードパーティのコーディング標準(たとえば、コーダ(英語)またはJoomlaコーディング標準(英語))に依存している場合、使用する前にPHP_CodeSnifferと統合する必要があります。これを行うには、インストールされている標準パスチェックボックスを選択し、the Browse buttonをクリックして、開いたダイアログでカスタム標準インストールディレクトリを選択します。

    6. スニッフ名を表示チェックボックスを選択して、対応するスニフの名前をインスペクションサマリーに加えてエディターまたはインスペクション結果に表示します。

    7. 適用するコーディング基準を定めます。

      • 事前定義されたコーディング標準(英語)の 1つを使用するには、コーディング基準リストを選択し、コードをチェックするコーディングスタイルを指定します。リストには、メインのphp_codesnifferディレクトリ構造内にインストールされているすべてのコーディング標準が含まれています。

      • 以前に定義した独自のコーディング標準(英語)に対してコードをチェックするには、カスタムを選択します。 the Browse button をクリックし、開いたカスタムコーディング標準ダイアログで、ルールセットへのパス フィールドに独自のコーディング標準のruleset.xmlファイルへのパスを指定します。パスを手動で入力するか、the Browse button をクリックして、開いダイアログで関連するフォルダーを選択します。

PHP_CodeSnifferによって検出された課題を修正

PhpStormはPHPコードの美化と修正(英語)ツールと統合され、検出された課題の多くを修正できます。PHP_CodeSnifferをComposerとともにインストールすると、PHPコードの美化と修正が検出され、自動的にセットアップされます。それ以外の場合は、手動で設定する必要があります。

クイックフィックスを使用して課題を修正する

PhpStormは課題を検出すると、PHP_CodeSniffer インスペクション設定に従って課題を強調表示します。

  1. 検出された課題にキャレットを置いて the Intention action buttonをクリックするか、または Alt+Enterを押します。

  2. ポップアップメニューからPHPコードの美化と修正: ファイル全体を修正するを選択してください。これにより、現在のファイルで検出されたすべての課題が修正されます。

バッチモードで課題を検出したり、コードのクリーンアップで自動的に修正したりすることもできます。

コードクリーンアップで自動的に課題を修正する

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

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

  3. リストからインスペクションプロファイルを選択するか、the Browse button をクリックして、開いたコードクリーンアップインスペクションダイアログで新しいプロファイルを構成します。 the Browse button をクリックして、どの修正が適用されるかを確認し、PHP_CodeSniffer検証 インスペクションが有効になっていることを確認することもできます。

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

PHP_CodeSnifferをバッチモードで実行する

  1. メインメニューからコード | コードのインスペクション を選択します。

  2. リストからインスペクションプロファイルを選択するか、the Browse button をクリックして、開いたコードクリーンアップインスペクションダイアログで新しいプロファイルを構成します。 the Browse button をクリックして、どの修正が適用されるかを確認し、PHP_CodeSniffer検証 インスペクションが有効になっていることを確認することもできます。

  3. インスペクション結果ツールウィンドウのインスペクションの結果を表示します。PHP_CodeSnifferによって報告されたエラーと警告には、PhpStorm内部インスペクションと区別するために、phpcs の接頭辞が付いています。

PHP_CodeSniffer検証インスペクションからファイルを除外

When waiting for PHP_CodeSniffer response exceeds the limit specified in the ツールプロセスのタイムアウト field in the PHP_CodeSniffer dialog, PhpStorm suggests adding the file to the ignore list

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、言語 & フレームワーク | PHP | 品質ツールにナビゲートします。

  2. 開いている品質ツールページで、PHP_CodeSniffer領域を展開し、無視されたファイルの表示 リンクをクリックします。

    • ファイルを追加するには、the Add button をクリックし、表示されるダイアログで目的のファイルを探します。

    • リストからファイルを削除し、PHP_CodeSnifferで再度処理するには、ファイルを選択して the Remove buttonをクリックします。

    • リストからすべてのファイルを削除するには、リストをクリーンアップするボタン the Close buttonをクリックします。

最終更新日: 2020年7月13日

関連ページ:

コード・インスペクション

PhpStormには、プロジェクト内の異常コードを検出して修正する一連のコードインスペクションがあります。IDEはさまざまな問題を見つけて強調表示し、デッドコードを見つけ、可能性のあるバグを見つけ、スペルの問題、コード構造全体を改善することができます。Inspections can scan you...

インスペクション結果ツールウィンドウ

表示 | ツール・ウィンドウ | インスペクション結果この方法でツールウィンドウにアクセスするには、コード | コードのインスペクションを使用して既に開いている必要があります。閉じるボタンをクリックしてツールウィンドウを手動で無効にすると、ツールウィンドウはコード | コードのインスペクションを介し...

Composer依存関係マネージャー

PhpStormはComposer依存マネージャーと統合されています。これにより、Packagistのパッケージをプロジェクトの依存関係として宣言し、IDEから管理することができます。PhpStormは、composer.jsonを操作するための包括的なコーディング支援と、一般的なComposerコ...

リモート PHP インタープリターの構成

The termremote PHP interpreterdenotes a PHP engine installed on a remote host or in a virtual environment. The termremote PHP interpreteris used as th...

インスペクション

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

インスペクションの重大度の設定

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