0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHPStanのエラー箇所へ1クリックで飛べるようにする設定

Last updated at Posted at 2024-09-28

初めに

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

このエラーを確認するためには、該当ファイルを開き、指定の行数にジャンプするというちょっと面倒な方法をとらなければなりません:weary:

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上で表示をしてくれるリンクになります。
image.png

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%%'

終わりに

エラーが出るたびにファイルを開いて行数に飛ぶのって、手だとちょっと面倒ですよね。
これで楽になりそうです。

ここまで読んでいただきありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?