
Language Server, Formatter, Debugger, Composer tools, TODO browser, and Profiler in one extension.

Code Intelligence
PHPDoc-aware hover, go-to-definition, find references, and import assistance for templates, array shapes, callable signatures, dynamic return types, magic methods, fluent APIs, and type aliases.

Completion is context-aware with full support for PHPDoc shapes, intersection types, conditional return types, and named arguments. Inlay hints show inferred parameter names and return types inline.

Diagnostics and Code Actions
Inline diagnostics for parse errors, type mismatches, array-shape key problems, unused imports, unused private members, and unreachable code. Code actions and quick fixes — such as generating abstract methods, adding missing imports, or applying type fixes — are a Pro feature.

Testing
PHPUnit and Pest test discovery in the VS Code Test Explorer. Run, debug, and rerun individual tests or entire suites without leaving the editor.

Debugging
Xdebug-based debugging for CLI scripts, web requests, and attach mode. Full VS Code debug adapter support with breakpoints, conditional breakpoints, watch expressions, call stack, and variable inspection.

Composer Tools
Run Composer commands, manage dependencies, and browse installed packages directly from VS Code. The Composer panel shows outdated packages and lets you update, require, or remove them without leaving the editor.

TODO Browser
Collects TODO, FIXME, and custom tags across the entire workspace and displays them in a dedicated tree view. Filter by tag, file, or folder and jump directly to any item.

Profiling
Profile any PHP file directly from the editor. The built-in profiler panel visualizes execution time, call counts, and hotspots as a flame graph.

Getting Started
- Install the extension from the VS Code marketplace.
- Open a PHP workspace and click the status bar item to open the settings panel.
- Select the PHP version for the workspace, or run
PhpThunder: Select PHP Version. - Run
PhpThunder: Configure PHP Interpretersto use a specific PHP binary. - Run
PhpThunder: Reindex Workspaceif you encounter issues after making changes via Composer, or regarding include path settings or the workspace structure in general.
Free and Pro
| Capability | Free | Pro |
|---|---|---|
| Code intelligence & navigation | ✓ | ✓ + starred suggestions |
| Diagnostics & basic code actions | ✓ | ✓ + Pro code fixes |
| Formatting | ✓ | ✓ + style customization |
| PHPUnit & Pest (Test Explorer) | ✓ | ✓ |
| Xdebug debugging | ✓ | ✓ + inline debug values |
| Composer helpers & TODO tools | ✓ | ✓ |
| Rename Symbol | ✓ | |
| Accessor generation | ✓ | |
| Implement Missing Methods | ✓ | |
| Profiling (CLI & web) | ✓ |
Release Channels
PhpThunder supports different release channels: stable, beta, and alpha. The channel is determined by the version tag (e.g. 2033.1.0-beta.1). The VS Code Marketplace only accepts plain semver (major.minor.patch). Therefore, the Marketplace version is derived from the tag using a fixed mapping scheme.
| Version Tag | Channel | Marketplace Version |
|---|---|---|
2033.1.0-alpha.1 |
alpha | 2033.1.10001 |
2033.1.0-beta.1 |
beta | 2033.1.30001 |
2033.1.0-beta.2 |
beta | 2033.1.30002 |
2033.1.1 |
stable | 2033.1.90100 |
2033.1.2 |
stable | 2033.1.90200 |
Documentation
The full documentation covers getting started, installation and activation, editor features, debugging, profiling, testing, configuration, and troubleshooting.
For more information, visit sailantis.com/phpthunder.
Submitting Issues
You can submit issues publicly on GitHub or privately through our support page.