初めに
PHPStanで解析をした際、エラーの箇所をいちいち手動で開くのってちょっと面倒ですよね。
今回は、エラーの箇所にすぐに飛べるようになる設定をご紹介します。
エラーの箇所に飛びたい!
PHPStanでエラーを検出すると以下のような結果が出力されます。
$ ./vendor/bin/phpstan analyse
Note: Using configuration file C:\path\to\project\phpstan.neon.
3/3 [============================] 100%
------ --------------------------------------------------------------------------
Line level\Level0.php
------ --------------------------------------------------------------------------
:759 Method Util\Level0::knownMethod() invoked with 0 parameters, 1 required.
------ --------------------------------------------------------------------------
[ERROR] Found 1 error
このエラーを確認するためには、該当ファイルを開き、指定の行数にジャンプするというちょっと面倒な方法をとらなければなりません
editorUrl
でエラー箇所へのリンクを出力できる
phpstan.neonファイルでeditorUrl
を設定すると、出力にエラー箇所へのリンクを含めることができます。
phpstan.neon
parameters:
editorUrl: 'vscode://file/%%file%%:%%line%%'
errorFormat: table
実行してみた結果がこちら。
分かりづらいですが、✏️ マークの横にあるlevel\Level0.php
がリンクになっています。
$ ./vendor/bin/phpstan analyse
Note: Using configuration file C:\path\to\project\phpstan.neon.
3/3 [============================] 100%
------ --------------------------------------------------------------------------
Line level\Level0.php
------ --------------------------------------------------------------------------
:759 Method Util\Level0::knownMethod() invoked with 0 parameters, 1 required.
✏️ level\Level0.php
------ --------------------------------------------------------------------------
[ERROR] Found 1 error
CLI上でカーソルを合わせると、リンク先が表示されていますね。
以下はVScode上で表示をしてくれるリンクになります。
IDE別の設定
PHPStanの公式ドキュメントを見ると、IDE別の設定方法が載っていました。
エディター or IDE | 設定値 |
---|---|
PhpStorm | 'phpstorm://open?file=%%file%%&line=%%line%%' |
Visual Studio Code | 'vscode://file/%%file%%:%%line%%' |
Atom | 'atom://core/open/file?filename=%%file%%&line=%%line%%' |
終わりに
エラーが出るたびにファイルを開いて行数に飛ぶのって、手だとちょっと面倒ですよね。
これで楽になりそうです。
ここまで読んでいただきありがとうございました!