VS Code extension that brings language intelligence to Laravel Blade templates (.blade.php).
All standard VS Code language features enabled for Blade files
- Go to Definition — jump to class/method/function definitions from Blade
- Find References — locate all references to a symbol across the project
- Hover — type signatures and docblocks on hover
- Document Symbols — outline and breadcrumb navigation for PHP symbols
- Reference CodeLens — see reference counts above classes, functions, methods, properties, enums
- intelephense (
bmewburn.vscode-intelephense-client) - PHP 8.x with the
phpbinary available (or configured viabladeParser.phpCommand)
PHP renames are delegated to Intelephense. Blade Parser adds matching edits to Blade files without duplicating the PHP edits already returned by Intelephense.
Blade files are searched with the intelephense.rename.exclude patterns, so paths such as vendor can be excluded from Blade rename updates.
If you use TypeLens, exclude the Blade language to avoid duplicate codelens:
1 : use @var comment
@foreach ($users as $user)
{{-- @var \App\Models\User $user --}}
@if ($user->isActive)
// ..
@endif
@endforeach2 : use assertion
-
add global function
use Webmozart\Assert\Assert; if (! \function_exists('_is')) { /** * @template T of object * * @param class-string<T> $type * * @return T */ function _is(object $obj, string $type): object { return Assert::isInstanceOf($obj, $type); } }
-
now use it like so
@foreach ($users as $user) @if (_is($user, \App\Models\User::class)->isActive) // .. @endif @endforeach