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."file_types": { "Blade": ["*.blade.php"] }
@if/@foreach/@section/@switch and all block directives@shufo/prettier-plugin-blade (currently broken — see zed#42796)Zed's built-in Tailwind CSS language server is not attached to Blade files by default. Add the following to your Zed settings.json to enable Tailwind class completions in Blade templates:
{
"languages": {
"Blade": {
"language_servers": [
"tailwindcss-language-server",
"..."
]
}
},
"lsp": {
"tailwindcss-language-server": {
"settings": {
"includeLanguages": {
"blade": "html"
}
}
}
}
}
The "..." entry preserves the other language servers configured for Blade.
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 |
|---|---|
| PHPantom | Fast Rust-based PHP language server with native Blade preprocessing |
| 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 |
Rust
56.3%
Tree-sitter Query
43.7%
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."file_types": { "Blade": ["*.blade.php"] }
@if/@foreach/@section/@switch and all block directives@shufo/prettier-plugin-blade (currently broken — see zed#42796)Zed's built-in Tailwind CSS language server is not attached to Blade files by default. Add the following to your Zed settings.json to enable Tailwind class completions in Blade templates:
{
"languages": {
"Blade": {
"language_servers": [
"tailwindcss-language-server",
"..."
]
}
},
"lsp": {
"tailwindcss-language-server": {
"settings": {
"includeLanguages": {
"blade": "html"
}
}
}
}
}
The "..." entry preserves the other language servers configured for Blade.
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 |
|---|---|
| PHPantom | Fast Rust-based PHP language server with native Blade preprocessing |
| 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 |
Rust
56.3%
Tree-sitter Query
43.7%