Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>PHP & Laravel IntelliSense – Fast & FreeNew to Visual Studio Code? Get it now.
PHP & Laravel IntelliSense – Fast & Free

PHP & Laravel IntelliSense – Fast & Free

Emir Buğra Köksalan

|
1 install
| (0) | Free
Fast, lightweight, free and open source PHP & Laravel IntelliSense: smart completion, go to definition, references, rename, inspections, quick fixes and a built-in formatter that reads PhpStorm code styles.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PHP & Laravel IntelliSense

Fast, lightweight, free and open source PHP & Laravel support for VS Code.

Version Installs Rating License: MIT

The code intelligence you expect from a full PHP IDE, inside VS Code, for free. No license key, no premium tier, no telemetry.

✨ Why this extension?

  • ⚡ Fast — a Laravel project with its vendor/ folder (~6,000 files) is indexed in about a second; completions and diagnostics update while you type.
  • 🪶 Light on memory — about 50 MB of RAM for a typical Laravel app, ~100 MB for a 16,000-file project.
  • 🎨 Works with your PhpStorm code style — reads .idea/codeStyles and .editorconfig (ij_php_*), so a team using PhpStorm and VS Code formats code the same way.
  • 💸 Free and open source — MIT licensed, every feature included.
  • 🐘 Modern and legacy PHP — PHP 8.4 property hooks and enums, all the way back to PHP 4-style code.
  • 📦 Nothing to install — the language server is bundled for Windows, macOS and Linux (x64 and ARM).

🚀 Features

🧭 Navigation

  • Go to definition, type definition and implementation
  • Find all references, highlight occurrences
  • Rename classes, methods, functions, properties, constants and variables across the project
  • Call hierarchy and type hierarchy
  • Document outline and workspace symbol search

💡 Smart editing

  • Completion that understands types: docblocks, @template generics, instanceof and condition narrowing
  • Hover with signatures and documentation, signature help, parameter name hints
  • Quick fixes and refactorings:
    • ➕ Add return type / parameter type / property type (respects your project's PHP version)
    • 📝 Add PHPDoc
    • 📥 Import class, 🧹 remove unused imports, optimize imports
    • 🏗️ Implement missing methods, create method

🔍 Inspections

  • Undefined classes, functions, methods and variables
  • Unused imports
  • Missing abstract method implementations
  • Deprecated usages

🟥 Laravel

  • Eloquent: relations, attributes, scopes and query builder methods are completed and typed
  • Routes, views, config, translations and .env: completion and go to definition inside route('…'), view('…'), config('…'), __('…'), env('…')
  • Warnings for route, view, config and translation names that don't exist, with a "Change to…" fix

🎨 Formatter

  • Built-in formatter: PSR-12, PER-CS 2.0 / 3.0, Laravel, Symfony, PEAR, Zend, CodeIgniter and PhpStorm default presets
  • 200+ options with PhpStorm's own names (phpLsp.format.options): spacing, wrapping, blank lines, alignment, PHPDoc
  • Format document, format selection and format while typing
  • Import / export code styles as a PhpStorm XML scheme or .editorconfig
  • Prefer Laravel Pint or PHP-CS-Fixer? Set phpLsp.formatter.tool and the project's own tool is used

⚙️ Settings

Setting Default
phpLsp.indexVendor true Index vendor/ directories
phpLsp.inspections.enabled true Undefined symbols, unused imports, …
phpLsp.laravel.diagnostics true Unknown route / view / config / translation names
phpLsp.phpVersion "" Target PHP version for type suggestions (default: from composer.json or the installed php)
phpLsp.formatter.tool auto auto, builtin, pint, php-cs-fixer or off
phpLsp.format.preset psr12 Built-in formatter preset
phpLsp.format.options {} Overrides for the preset, by PhpStorm option name
phpLsp.format.useProjectCodeStyle true Use .idea/codeStyles and .editorconfig
phpLsp.serverPath "" Use a different php-lsp binary
phpLsp.logLevel info Server log level

VS Code's own basic PHP suggestions are turned off by default (php.suggest.basic) to avoid duplicate completions.

⌨️ Commands

  • PHP LSP: Show Info Panel — server status and index statistics
  • PHP LSP: Restart Server · PHP LSP: Show Server Log
  • PHP LSP: Import Code Style… · PHP LSP: Export Code Style…

🐞 Feedback

Found a bug or missing a feature? Open an issue. If the extension helps you, a ⭐ on GitHub or a review on the Marketplace helps a lot.

🛠️ Development

The language server lives in php-lsp-rs (written in Rust).

git clone https://github.com/emirbugra/php-lsp-rs
git clone https://github.com/emirbugra/php-lsp-vsc
cd php-lsp-rs && cargo build --release
cd ../php-lsp-vsc && npm install && npm run compile
# press F5 in VS Code

The extension looks for the server in this order: phpLsp.serverPath → server/php-lsp inside the extension → ../php-lsp-rs/target/{release,debug}/php-lsp → php-lsp on PATH.

Releases are built by GitHub Actions (.github/workflows/release.yml): one package per platform, each with its own server binary.

📄 License

MIT. The bundled server embeds JetBrains phpstorm-stubs (Apache-2.0); see THIRD-PARTY-NOTICES.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft