Nifty PHP Quality
PHPStan, PHP_CodeSniffer, Laravel Pint and PHP-CS-Fixer in one extension: problems as you save, one Fix command, and zero setup when the tools are in your project's vendor/bin.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features



- All your PHP tools, one extension. PHPStan, PHP_CodeSniffer, Laravel Pint and PHP-CS-Fixer run on each PHP file when you open and save it. Their findings show up in the editor and the Problems panel, labelled with the tool that found them. No more four half-maintained extensions.
- Zero setup. Tools are picked up from your project's
vendor/bin (Composer), so everyone on the team uses the same versions and the project's own configs (phpstan.neon, phpcs.xml, pint.json, .php-cs-fixer.php). Tools that aren't installed are skipped. The status bar shows which were found.
- PHPStan details. Error identifiers appear as the problem code, and PHPStan's tips are included in the message.
- One Fix. Fix This File (or the light bulb on a style problem) runs Pint, PHP-CS-Fixer or phpcbf, whichever the project has, then checks the file again. Turn on
fixOnSave to do it on every save.
- Your settings. Switch any tool on or off, point it at a different path, pass extra arguments (
--level=6, --standard=PSR12), or allow tools from your PATH.
Commands
| Command |
What it does |
Nifty PHP Quality: Check This File |
Run the checks now |
Nifty PHP Quality: Fix This File |
Run the fixer and check again |
Nifty PHP Quality: Show Output |
See what the tools printed (useful when one fails) |
Settings
| Setting |
Default |
What it does |
nifty.php-quality.runOnOpen |
true |
Check files when they're opened (always on save) |
nifty.php-quality.fixOnSave |
false |
Run the fixer on every save |
nifty.php-quality.fixer |
auto |
pint, php-cs-fixer, phpcbf, or the first one installed |
nifty.php-quality.<tool>.enabled |
auto |
Per tool (phpstan, phpcs, pint, php-cs-fixer, phpcbf): auto, on or off |
nifty.php-quality.<tool>.path |
|
Use this path instead of vendor/bin |
nifty.php-quality.<tool>.args |
[] |
Extra arguments |
nifty.php-quality.vendorBin |
vendor/bin |
Composer's bin folder |
nifty.php-quality.useGlobalTools |
false |
Also use tools on your PATH |
nifty.php-quality.timeoutSeconds |
60 |
Stop a tool that runs longer |
Install
- VS Code: search for "Nifty PHP Quality" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty YAML: Formatter, Validator & Converter: Format YAML without losing comments (Kubernetes-style indents), sort keys, lint with yamllint, copy the key path, and convert to and from JSON. (Open VSX)
- Nifty Beautify: Format HTML in PHP, Blade & Twig: Format HTML inside PHP, Blade, Twig, Jinja, Handlebars, ERB and Liquid templates without breaking the template tags. (Open VSX)
- Nifty HCL Tools: .tf and .hcl Language Support: Fast, lightweight Terraform and OpenTofu support: highlighting, outline, go to definition and references across a module, hovers, completion, undefined-reference errors and formatting. (Open VSX)
- Nifty Nginx: nginx.conf Formatting & IntelliSense: nginx config support: syntax highlighting, formatting, directive completion and docs on hover, context checks, and snippets for reverse proxies, SSL and PHP. (Open VSX)
- Nifty Shell Format: shfmt Formatter for Bash: Format shell scripts (bash, sh, zsh, bats) with shfmt built in: no binary to install, reads .editorconfig, and shows syntax errors. (Open VSX)
- Nifty TOML: Format, Validate & Schemas: TOML support: highlighting, errors, a formatter that keeps comments, outline, folding, and JSON Schema validation, completion and hover (Cargo.toml, pyproject.toml via SchemaStore). TOML to JSON/YAML. (Open VSX)
See all 100+ Nifty extensions and web tools at https://getnifty.dev
| |