Dieser Artikel ist eine erste Analyse zur Version v0.0.19, Stand Juni 2026. Vor der Registrierung bei Packagist ist eine Installation über Composer noch nicht möglich.
Was ist Laravel LSP?
Laravel LSP (Language Server Protocol) ist das offizielle Tool, das IDE-Funktionen mit Bewusstsein für das Laravel-Framework in Editoren bereitstellt. Das Language Server Protocol ist der Standardprotokoll für die Kommunikation zwischen LSP-Clients (Editoren) und LSP-Servern (Laravel LSP). Dadurch wird ein einheitliches Entwicklungserlebnis über mehrere Editoren hinweg möglich.
Von Laravel LSP bereitgestellte Funktionen:
- Autovervollständigung – automatische Vervollständigung für Routen, Views, Config-Keys, Übersetzungs-Keys, Livewire-Komponenten usw.
- Hover-Informationen – beim Überfahren mit dem Cursor werden Erklärungen, Dokumentation und Kontextinfos angezeigt
- Diagnosen – Erkennung von Codeproblemen in Echtzeit
- Dokumentlinks – Verlinkungen zwischen Dateien und Ressourcen
- Quick Fixes – automatische Behebungsvorschläge für gängige Probleme
- Springen zur Definition – Sprung an die Definition eines Symbols
Warum das nötig ist
Die Standard-PHP-Autovervollständigung eines Editors versteht die Abstraktionsschichten des Laravel-Frameworks nicht. Beispielsweise:
- keine Autovervollständigung für das erste Argument von
Route::get() (URI-Pattern)
- keine Vervollständigung realer View-Dateinamen für den View-Namen in
view('users.index')
- Config-Keys wie
config('app.name') und Übersetzungs-Keys wie trans('messages.welcome') sind kein Vervollständigungsziel
- Innerhalb von Blade-Templates gibt es standardmäßig keine Vervollständigung oder Validierung
Laravel LSP versteht diesen „Framework-spezifischen Kontext” und liefert präzise Vervollständigung und Diagnosen.
Installation
Globale Installation
Installation global über Composer:
composer global require laravel/lsp
Stellen Sie sicher, dass das globale Bin-Verzeichnis von Composer in PATH liegt; danach lässt sich der Server so starten:
Installation aus dem Quellcode
Möchten Sie die Entwicklerversion nutzen, klonen Sie das Repository und führen es aus:
gh repo clone laravel/lsp
cd lsp
composer install
php server
Richten Sie einen Shell-Alias ein, um das Kommando laravel-lsp verwenden zu können:
# Für Zsh
echo 'alias laravel-lsp="php /path/to/lsp/server"' >> ~/.zshrc
source ~/.zshrc
# Für Bash
echo 'alias laravel-lsp="php /path/to/lsp/server"' >> ~/.bashrc
source ~/.bashrc
Editor-spezifische Konfiguration
Da Laravel LSP das Standard-LSP-Protokoll verwendet, funktioniert es in jedem Editor, der LSP unterstützt. Nachfolgend die Konfiguration für gängige Editoren.
Sublime Text
Installieren Sie das LSP-Paket und fügen Sie unter Preferences: LSP Settings die Client-Konfiguration hinzu:
{
"clients": {
"laravel-lsp": {
"enabled": true,
"command": ["laravel-lsp"],
"selector": "embedding.php | text.html.blade"
}
}
}
Neovim
Ab Neovim 0.11 lassen sich benutzerdefinierte LSP-Konfigurationen direkt hinzufügen:
vim.lsp.config("laravel_lsp", {
cmd = { "laravel-lsp" },
filetypes = { "php", "blade" },
root_markers = { "artisan", "composer.json", ".git" },
})
vim.lsp.enable("laravel_lsp")
Wenn Sie nvim-lspconfig verwenden, registrieren Sie es wie folgt:
local lspconfig = require("lspconfig")
local configs = require("lspconfig.configs")
if not configs.laravel_lsp then
configs.laravel_lsp = {
default_config = {
cmd = { "laravel-lsp" },
filetypes = { "php", "blade" },
root_dir = lspconfig.util.root_pattern("artisan", "composer.json", ".git"),
},
}
end
lspconfig.laravel_lsp.setup({})
Cursor
Cursor unterstützt VS-Code-Erweiterungen; ist die Laravel-Erweiterung installiert, funktioniert es automatisch. Für die lokale Entwicklung nutzen Sie einen VS-Code-kompatiblen LSP-Client und geben das Kommando an:
VS Code
Auch VS Code besitzt LSP-Client-Funktionalität und lässt sich über Erweiterungen konfigurieren.
OpenCode
Aktivieren Sie in opencode.json die LSP-Unterstützung und richten Sie Laravel LSP als benutzerdefinierten Server ein:
{
"$schema": "https://opencode.ai/config.json",
"lsp": {
"laravel-lsp": {
"command": ["laravel-lsp"],
"extensions": [".php", ".blade.php"]
}
}
}
Konfiguration in der GitHub Copilot CLI
Wenn Sie die GitHub Copilot CLI verwenden, konfigurieren Sie Laravel LSP global in ~/.copilot/lsp-config.json. Eine separate Editor-Konfiguration ist nicht erforderlich:
{
"lspServers": {
"laravel-lsp": {
"command": "laravel-lsp",
"fileExtensions": {
".php": "php",
".blade.php": "blade"
}
}
}
}
Da die LSP-Server-Konfiguration der Copilot CLI auch initializationOptions unterstützt, sind alle unten beschriebenen Detaileinstellungen möglich.
Konfigurationsoptionen
LSP-Clients können Detaileinstellungen über initializationOptions an Laravel LSP übergeben.
Erkennung der PHP-Umgebung
Mit der Option phpEnvironment steuern Sie das PHP-Kommando, das zur Indexierung der Projektdaten verwendet wird. Standard ist auto (automatische Erkennung):
| Wert | Verhalten des PHP-Kommandos |
|---|
auto | Erkennung in der Reihenfolge Herd → Valet → Sail → Lando → DDEV → lokales PHP |
herd | verwendet herd which-php |
valet | verwendet valet which-php |
sail | verwendet ./vendor/bin/sail php, während Sail läuft |
lando | verwendet lando php |
ddev | verwendet ddev php |
local | verwendet direkt die lokale PHP-Binary |
Wenn die Erkennung fehlschlägt oder ein ungültiger Wert übergeben wird, greift php als Fallback.
Beispiel für die Basiskonfiguration
{
"phpEnvironment": "auto",
"phpCommand": ["php"],
"definitionProvider": false
}
Konfiguration pro Funktion
Jede Funktion lässt sich einzeln ein- und ausschalten. Übliche Suffixe sind Completion, Diagnostics, Hover, Link usw.:
{
"routeCompletion": true,
"routeDiagnostics": true,
"viewDiagnostics": false,
"translationHover": true,
"configLink": true,
"envCompletion": true,
"bladeComponentLink": true
}
Übersicht der bereitgestellten Funktionen
| Funktionsbereich | Vervollständigung | Hover | Diagnose | Link | Quick Fix |
|---|
| Routen | ✓ | ✓ | ✓ | ✓ | - |
| Views und Blade | ✓ | ✓ | ✓ | ✓ | ✓ |
| Übersetzungen | ✓ | ✓ | - | - | - |
| Konfiguration | ✓ | ✓ | ✓ | ✓ | - |
| Umgebungsvariablen | ✓ | ✓ | ✓ | ✓ | ✓ |
| Assets und Mix | ✓ | ✓ | ✓ | ✓ | - |
| Middleware | ✓ | ✓ | ✓ | ✓ | - |
| Inertia | ✓ | - | ✓ | ✓ | - |
| Livewire | ✓ | ✓ | - | ✓ | - |
| Auth und Policies | ✓ | ✓ | ✓ | ✓ | - |
| Container-Bindings | ✓ | ✓ | ✓ | ✓ | - |
| Validation | ✓ | - | - | - | - |
| Controller-Actions | ✓ | - | ✓ | ✓ | - |
| Eloquent | ✓ | - | - | - | - |
Schnellstart
- Installieren –
composer global require laravel/lsp
- Editor konfigurieren – siehe die editor-spezifischen Anleitungen oben
- Laravel-Projekt öffnen – der Server indiziert vom Root aus Projektdaten wie Routes, Views, Translations und Config
- Autovervollständigung nutzen – in PHP-Dateien und Blade-Templates arbeitet die Framework-bewusste Vervollständigung automatisch
Fazit
Laravel LSP steigert das Entwicklererlebnis erheblich. Es versteht Framework-spezifischen Kontext, den der Editor-Standard nicht abbildet, und liefert präzisere und nützlichere Vervollständigungen und Diagnosen.
Voraussetzungen:
- PHP 8.2 oder höher
- Composer
- LSP-fähiger Editor (Sublime Text, Neovim, Cursor, VS Code usw.)
Weiterführende Ressourcen:
Zuletzt geändert am 13. Juli 2026