Vai al contenuto principale
Questo articolo è un’indagine iniziale su v0.0.19, aggiornata a giugno 2026. Prima della registrazione su Packagist non è ancora possibile installarlo tramite composer.

Cos’è Laravel LSP

Laravel LSP (Language Server Protocol) è lo strumento ufficiale che fornisce all’editor funzionalità IDE consapevoli del framework Laravel. Il Language Server Protocol è un protocollo standard di comunicazione tra client LSP (l’editor, ecc.) e server LSP (Laravel LSP), che permette un’esperienza di sviluppo unificata su più editor. Funzionalità offerte da Laravel LSP:
  • Completamento — auto-completamento di rotte, viste, chiavi di configurazione, chiavi di traduzione, componenti Livewire, ecc.
  • Informazioni al passaggio del cursore — quando ci passi sopra vengono mostrate descrizioni, documentazione e informazioni di contesto
  • Diagnostica — rilevamento in tempo reale dei problemi nel codice
  • Link nei documenti — funzione di link tra file e risorse
  • Quick fix — proposte di correzione automatica per problemi comuni
  • Jump to definition — salto alla posizione di definizione di un simbolo

Perché serve

Il completamento PHP standard degli editor non comprende il livello di astrazione del framework Laravel. Ad esempio:
  • Nel primo argomento di Route::get(), digitando pattern di URI non c’è completamento
  • Digitando il nome della vista in view('users.index'), non viene completato il nome reale del file
  • Chiavi di configurazione (config('app.name')) e chiavi di traduzione (trans('messages.welcome')) sono fuori dal completamento
  • Anche il completamento e la validazione all’interno dei template Blade non sono supportati dagli editor standard
Laravel LSP comprende questa “contestualità specifica del framework” e offre completamento e diagnostica accurati.

Installazione

Installazione globale

Installalo globalmente con Composer:
composer global require laravel/lsp
Verifica che la directory bin globale di Composer sia nel PATH e potrai avviarlo con il comando:
laravel-lsp

Installazione da sorgente

Se vuoi usare la versione di sviluppo, clona il repository ed esegui:
gh repo clone laravel/lsp
cd lsp
composer install
php server
Configura un alias della shell per poter usare il comando laravel-lsp:
# Per Zsh
echo 'alias laravel-lsp="php /path/to/lsp/server"' >> ~/.zshrc
source ~/.zshrc

# Per Bash
echo 'alias laravel-lsp="php /path/to/lsp/server"' >> ~/.bashrc
source ~/.bashrc

Guida di configurazione per editor

Poiché Laravel LSP usa il protocollo LSP standard, funziona su qualsiasi editor che supporta LSP. Ecco come configurare i principali editor.

Sublime Text

Installa il pacchetto LSP, quindi aggiungi la configurazione client in Preferences: LSP Settings:
{
    "clients": {
        "laravel-lsp": {
            "enabled": true,
            "command": ["laravel-lsp"],
            "selector": "embedding.php | text.html.blade"
        }
    }
}

Neovim

Da Neovim 0.11 in poi puoi aggiungere configurazioni LSP personalizzate direttamente:
vim.lsp.config("laravel_lsp", {
    cmd = { "laravel-lsp" },
    filetypes = { "php", "blade" },
    root_markers = { "artisan", "composer.json", ".git" },
})

vim.lsp.enable("laravel_lsp")
Se usi nvim-lspconfig, registra così:
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 supporta le estensioni di VS Code, quindi se l’estensione Laravel è già installata funziona automaticamente. Per lo sviluppo locale usa un client LSP compatibile con VS Code e specifica il comando:
laravel-lsp

VS Code

Anche VS Code dispone della funzionalità client LSP, quindi puoi configurarlo tramite estensione.

OpenCode

In opencode.json abilita il supporto LSP e configura Laravel LSP come server personalizzato:
{
    "$schema": "https://opencode.ai/config.json",
    "lsp": {
        "laravel-lsp": {
            "command": ["laravel-lsp"],
            "extensions": [".php", ".blade.php"]
        }
    }
}

Configurazione in GitHub Copilot CLI

Se usi GitHub Copilot CLI puoi configurarlo globalmente in ~/.copilot/lsp-config.json. Non è necessaria una configurazione separata dell’editor:
{
  "lspServers": {
    "laravel-lsp": {
      "command": "laravel-lsp",
      "fileExtensions": {
        ".php": "php",
        ".blade.php": "blade"
      }
    }
  }
}
La configurazione del server LSP di Copilot CLI supporta anche initializationOptions, quindi puoi usare tutte le impostazioni dettagliate descritte più avanti.

Opzioni di configurazione

Il client LSP può passare a Laravel LSP configurazioni dettagliate tramite initializationOptions.

Rilevamento dell’ambiente PHP

L’opzione phpEnvironment controlla il comando PHP usato per l’indicizzazione dei dati del progetto. Il valore predefinito è auto per il rilevamento automatico:
ValoreComportamento del comando PHP
autoRilevamento nell’ordine Herd → Valet → Sail → Lando → DDEV → PHP locale
herdUsa herd which-php
valetUsa valet which-php
sailCon Sail in esecuzione, usa ./vendor/bin/sail php
landoUsa lando php
ddevUsa ddev php
localUsa direttamente il binario PHP locale
Se il rilevamento fallisce o viene passato un valore non valido, si ricade su php.

Esempio base di configurazione

{
    "phpEnvironment": "auto",
    "phpCommand": ["php"],
    "definitionProvider": false
}

Configurazione per singola funzionalità

Ogni funzionalità può essere abilitata/disabilitata singolarmente. I suffissi sono Completion, Diagnostics, Hover, Link, ecc.:
{
    "routeCompletion": true,
    "routeDiagnostics": true,
    "viewDiagnostics": false,
    "translationHover": true,
    "configLink": true,
    "envCompletion": true,
    "bladeComponentLink": true
}

Elenco delle funzionalità offerte

AreaCompletamentoHoverDiagnosticaLinkQuick fix
Rotte-
Viste & Blade
Traduzioni---
Configurazione-
Variabili d’ambiente
Asset & Mix-
Middleware-
Inertia--
Livewire--
Auth & Policy-
Container Bindings-
Validation----
Controller Actions--
Eloquent----

Quick start

  1. Installazionecomposer global require laravel/lsp
  2. Configurazione editor — fai riferimento alla guida per editor sopra
  3. Apri un progetto Laravel — il server indicizza a partire dalla root i dati di progetto come routes, views, translations, config
  4. Usa il completamento — nei file PHP e nei template Blade il completamento consapevole del framework si attiva automaticamente

Conclusioni

Laravel LSP è uno strumento che migliora notevolmente l’esperienza dello sviluppatore. Comprende la contestualità specifica del framework che le funzionalità standard degli editor non gestiscono e offre completamento e diagnostica più precisi e utili. Requisiti necessari:
  • PHP 8.2 o superiore
  • Composer
  • Editor compatibile con LSP (Sublime Text, Neovim, Cursor, VS Code, ecc.)
Materiale di riferimento:
Ultima modifica il 13 luglio 2026