Zum Hauptinhalt springen
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:
laravel-lsp

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:
laravel-lsp

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):
WertVerhalten des PHP-Kommandos
autoErkennung in der Reihenfolge Herd → Valet → Sail → Lando → DDEV → lokales PHP
herdverwendet herd which-php
valetverwendet valet which-php
sailverwendet ./vendor/bin/sail php, während Sail läuft
landoverwendet lando php
ddevverwendet ddev php
localverwendet 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

FunktionsbereichVervollständigungHoverDiagnoseLinkQuick Fix
Routen-
Views und Blade
Übersetzungen---
Konfiguration-
Umgebungsvariablen
Assets und Mix-
Middleware-
Inertia--
Livewire--
Auth und Policies-
Container-Bindings-
Validation----
Controller-Actions--
Eloquent----

Schnellstart

  1. Installierencomposer global require laravel/lsp
  2. Editor konfigurieren – siehe die editor-spezifischen Anleitungen oben
  3. Laravel-Projekt öffnen – der Server indiziert vom Root aus Projektdaten wie Routes, Views, Translations und Config
  4. 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