Laravel Blade templating language support for Zed.
[!Important] Add this in your zed setting to automatically select Blade mode for
.blade.phpfiles instead of php.json "file_types": { "Blade": ["*.blade.php"] }
@if/@foreach/@section/@switch and all block directives@shufo/prettier-plugin-blade (currently broken — see zed#42796)Install blade-formatter globally:
npm install -g blade-formatter
Then add to your Zed settings:
{
"languages": {
"Blade": {
"formatter": {
"external": {
"command": "blade-formatter",
"arguments": ["--stdin"]
}
},
"format_on_save": "on"
}
}
}
Optionally, create .bladeformatterrc.json in your project root to configure formatting:
{
"indentSize": 2,
"wrapLineLength": 120
}
Note: Config keys must be camelCase (e.g.
indentSize), not kebab-case. The CLI flags use--indent-size, but the JSON config file usesindentSize.
The extension provides these language servers (at least one must be enabled in Zed settings):
| Server | Description |
|---|---|
| Intelephense | PHP intelligence — autocompletion, go-to-definition, diagnostics |
| PhpTools | DEVSENSE PHP Tools — commercial alternative to Intelephense |
| Phpactor | Open-source PHP language server |
| Emmet | Emmet abbreviations support inside Blade files |
$ claude mcp add zed-laravel-blade \
-- python -m otcore.mcp_server <graph>