Enterprise-grade Laravel intelligence for VS Code — zero helper files, instantaneous completions, and full PhpStorm-class IDE support for Laravel applications.
✨ Features
🛣 Routing Intelligence
route()/to_route()completion — autocomplete all named routes with method badges, URI previews, and parameter info.- Hover documentation — hover over any route string to see methods, action, middleware stack, and parameters.
- Go-to-Definition —
Ctrl+Clickon'UserController@index'or a route name jumps to the exact file and line. - CodeLens — ghost
[GET /users]annotations above each controller method. - Route List webview — full filterable route table via
Laravel Maestro: Show Route List. - Workspace-wide rename — rename a route name in one step; all usages updated atomically with single-undo.
🗄 Eloquent Virtualization
where*magic methods —whereEmail(),whereNotActive(), etc. synthesized from live DB schema.- Column property completions —
$user->created_at,$user->is_activewith type annotations. - Relationship completions —
$user->posts,$user->posts_count(whenwithCountapplied). - Scope completions —
::active(),::withPendingOrders()fromscopeActive()etc. - Mass-assignment keys —
User::create(['|']shows all fillable fields with types. - Variable-type inference — detects
$user = User::find($id)and provides context-aware completions on$user->. - Inlay hints — ghost type annotations on
factory()->create([...])array keys.
🧩 Blade Intelligence
- Directive completions — full
@if,@foreach,@can,@vite,@class, etc. with snippet expansion. <x-component>completions — all components with props, required-prop snippet insertion.- Component attribute completions — auto-complete
<x-alert |with typed props from@props([...]). - View name completions —
@include,@extends,view()autocomplete from discovered views. - Section name completions —
@yield('|')and@push('|')aware of defined sections. - Blade hover — hover over
<x-alert>to see its class, file, and prop types. - Embedded PHP highlighting — full syntax support inside
@php/@ifblocks.
⚙️ Config & i18n
config('|')completion — all dot-notated keys with current values.__('|')/trans('|')completion — all translation keys with value previews.- i18n Quick Fix — select a raw string → "Extract to translation" → writes
lang/en/messages.phpand replaces the source. - Config inlay hints —
config('app.debug') /* bool */.
🧪 Real-time Laravel Tinker Pad
- Interactive Split Console — run PHP & Eloquent snippets in real-time right inside VS Code without switching to a terminal.
- Non-Exiting
dd()&dump()—dd(...)anddump(...)format output without terminating the PHP process early. - Interactive Foldable Tree — expand or fold nested arrays, objects, Eloquent models, and collections (
<details><summary>) with explicit Model class type indicators (e.g.App\Models\User). - STDOUT & Timing Badges — view execution time in milliseconds (
⚡ 12.4ms) and captured STDOUT streams.
✨ Fillable Fields Generator
- Auto-Populate from Migration — populates
$fillableattributes directly from table columns in migration files. - Dual Format Support — select between classic Array property (
protected $fillable = [...]) or modern PHP 8 Attribute (#[Fillable([...])]placed at the top of the model class).
⚡ Editor Quick Menu & Quick Fix Actions
- Editor Title Toolbar Icon (
⚡) — top-right toolbar icon in PHP files for instant access to model actions, migration jump, schema manager, and Tinker Pad. - Model Quick Fix Actions (
⌘./Ctrl+.) — instant model-to-migration, model-to-factory, and model-to-policy navigation and generation.
🏗 Code Generation
All generators use interactive QuickPick/InputBox flows — no terminal required.
| Command | Description |
|---|---|
Generate Controller |
Resource, API, Invokable, or Plain; optional model binding |
Generate Model |
With optional migration, factory, resource, controller, policy |
Generate Form Request |
Stubbed authorize() + rules() |
Generate API Resource |
JSON resource scaffold |
Generate Job |
Queueable ShouldQueue job |
Generate Event |
Dispatchable event |
Generate Listener |
Event listener stub |
Generate Mailable |
Full Mailable with envelope() + content() |
Generate Policy |
All seven CRUD policy methods; optional model binding |
Populate Fillable |
Auto-populate $fillable array or #[Fillable] attribute from migration |
Open Tinker Pad |
Interactive Laravel scratchpad console |
🚀 Getting Started
Prerequisites
- VS Code
^1.85.0 - PHP
^8.1inPATH(or configured vialaravelMaestro.phpExecutable) - A Laravel project with an
artisanfile in the workspace root
Installation
- Install from the VS Code Marketplace:
ext install laravel-maestro.laravel-maestro - Open your Laravel project folder.
- The extension activates automatically when
artisanis detected. - Watch the status bar for
⚡ Maestro [12R · 5M](routes · models).
First Run
The extension performs two indexing passes on activation:
- Static AST pass (~2–5s): walks all
*.phpfiles (excludingvendor/), builds the symbol table. - Runtime pass (~3–8s): executes
extract.phpas a child process to get live routes, DB schema, and config.
⚙️ Configuration
| Setting | Default | Description |
|---|---|---|
laravelMaestro.phpExecutable |
"php" |
Path to PHP binary |
laravelMaestro.runtimeExtractionTimeout |
10000 |
Max ms for PHP extractor |
laravelMaestro.enableEloquentCompletion |
true |
Eloquent virtual methods |
laravelMaestro.enableRouteCompletion |
true |
Route name completions |
laravelMaestro.enableBladeCompletion |
true |
Blade directives/components |
laravelMaestro.enableInlayHints |
true |
Ghost text type hints |
laravelMaestro.enableCodeLens |
true |
Route badges on methods |
laravelMaestro.excludePatterns |
["vendor/**", ...] |
Glob patterns to skip |
laravelMaestro.lruCacheSize |
500 |
Max AST entries in cache |
📖 Developer & Technical Documentation
All deep technical, structural, and contribution guidelines have been moved to the docs/ directory:
- Architecture & Hybrid Indexing — In-depth details on the Static AST Parser, dynamic extractor, workspace contexts, and caching architecture.
- Development Setup Guide — Requirements, local compilation commands, debugging inside VS Code, testing suites, and packaging commands.
- PHP Worker Specification — Complete details on sandboxing, safe bootstrapping, database compatibility, execution constraints, and payload formats of the background PHP worker.
- Custom Helper Extensibility — Documenting how to configure an
ide.jsonfile in your project root to register custom helper completions. - Extending the Extension — Guide on contributing, writing new completion providers, registering new commands, and following performance rules.
📝 Change Log
See CHANGELOG.md for full release history and release notes.
v0.7.1
- Fixed Blade Comments: Corrected language configuration (
language-configuration/blade.json) so commenting out code inside Blade templates wraps selections with complete{{--and--}}tags.
📄 License
Proprietary / Commercial License © Laravel Maestro. All rights reserved. Please refer to LICENSE.md for full terms and conditions.