- Automatically runs PHPStan of your code and highlights errors as you type.
- Adds command for running project-wide analysis and displays all errors in the
Diagnostics
tab. - Shows the values of variables according to PHPStan at the point of hovering.
demo.mp4
phpstan.configFile
- path to the config file, either relative tophpstan.rootDir
or absolute. Use a comma-separated list to resolve in the listed order. For example ifphpstan.neon,phpstan.neon.dist
is used, the extension will first try to usephpstan.neon
if it exists and fall back tophpstan.neon.dist
.phpstan.rootDir
- path to the root directory of your PHP project (defaults toworkspaceFolder
)phpstan.binPath
- path to the PHPStan binary (defaults to${workspaceFolder}/vendor/bin/phpstan
)phpstan.binCommand
- command that runs the PHPStan binary. Use this if, for example, PHPStan is already in your global path. If this is specified, it is used instead ofphpstan.binPath
. Unset by default.
phpstan.options
- array of command line options to pass to PHPStan (defaults to[]
)phpstan.memoryLimit
- memory limit to use when running PHPStan (defaults to1G
)phpstan.timeout
- timeout for checking single files after which the PHPStan process is killed in ms (defaults to 10000ms)phpstan.projectTimeout
- timeout for checking the entire project after which the PHPStan process is killed in ms (defaults to 60000ms)phpstan.suppressTimeoutMessage
- whether to disable the error message when the check times out (defaults tofalse
)phpstan.paths
- path mapping that allows for rewriting paths. Can be useful when developing inside a docker container or over SSH. Unset by default. Example for making the extension work in a docker container:{ "/path/to/hostFolder": "/path/in/dockerContainer" }
phpstan.ignoreErrors
- An array of regular expressions to ignore in error messages. If you find the PHPStan process erroring often because of a warning that can be ignored, put the warning in here and it'll be ignored in the future.
phpstan.enabled
- whether to enable the on-save checker (defaults totrue
)phpstan.enableStatusBar
- whether to show a statusbar entry while performing the check (defaults totrue
)phpstan.enableLanguageServer
- Whether to enable the language server that provides on-hover information. Disable this if you're using a custom PHPStan binary that runs on another filesystem (such as Docker) and you're running into issues (defaults totrue
)phpstan.showProgress
- whether to show the progress bar when performing a single-file check (defaults tofalse
)
First get your dev environment started by running yarn dev
. Note that this expects you to have a few programs installed:
composer
git
yarn
This command installs all JS and PHP dependencies and ensures you're ready to go for writing a PHPStan extension.
The following command will run PHPStan on a demo file, this is handy for testing out changes to the PHPStan plugin that collects hover data.
php/vendor/bin/phpstan analyze -c php/config.neon -a php/TreeFetcher.php --debug test/demo/php/DemoClass.php