Saltar al contenido principal
Este artículo es una investigación inicial de la versión v0.0.19, a fecha de junio de 2026. Todavía no está registrado en Packagist y no se puede instalar por composer.

¿Qué es Laravel LSP?

Laravel LSP (Language Server Protocol) es la herramienta oficial que proporciona a los editores funciones de IDE conscientes del framework Laravel. El Language Server Protocol es un protocolo estándar de comunicación entre el cliente LSP (el editor) y el servidor LSP (Laravel LSP), y con él se logra una experiencia de desarrollo unificada en múltiples editores. Funciones que ofrece Laravel LSP:
  • Autocompletado: autocompletado de rutas, vistas, claves de configuración, claves de traducción, componentes Livewire, etc.
  • Información de hover: al pasar el cursor muestra descripción, documentación e información de contexto
  • Diagnóstico: detección en tiempo real de problemas en el código
  • Enlaces de documento: enlaces entre archivos y recursos
  • Quick fixes: sugerencias de corrección automática para problemas comunes
  • Ir a definición: saltar a la ubicación de definición del símbolo

Por qué es necesario

El autocompletado PHP estándar del editor no comprende la capa de abstracción del framework Laravel. Por ejemplo:
  • Al introducir el primer argumento de Route::get() con un patrón de URI, no hay autocompletado
  • Al introducir el nombre de vista en view('users.index'), no se autocompletan los nombres reales de archivos de vista
  • Las claves de archivos de configuración (config('app.name')) y las claves de traducción (trans('messages.welcome')) quedan fuera del autocompletado
  • El autocompletado y la verificación dentro de plantillas Blade tampoco son soportados por el editor de serie
Laravel LSP entiende esos “contextos propios del framework” y ofrece autocompletado y diagnóstico precisos.

Instalación

Instalación global

Instala globalmente con Composer:
composer global require laravel/lsp
Verifica que el directorio global bin de Composer esté en el PATH, y podrás arrancarlo con el siguiente comando:
laravel-lsp

Instalación desde el código fuente

Si vas a usar la versión de desarrollo, puedes clonar el repositorio y ejecutarlo:
gh repo clone laravel/lsp
cd lsp
composer install
php server
Configura un alias de shell para poder usar el comando laravel-lsp:
# Para Zsh
echo 'alias laravel-lsp="php /path/to/lsp/server"' >> ~/.zshrc
source ~/.zshrc

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

Guía de configuración por editor

Como Laravel LSP usa el protocolo LSP estándar, funciona en cualquier editor que soporte LSP. A continuación presentamos la configuración para los principales editores.

Sublime Text

Instala el paquete LSP, y luego añade la configuración del cliente en Preferences: LSP Settings:
{
    "clients": {
        "laravel-lsp": {
            "enabled": true,
            "command": ["laravel-lsp"],
            "selector": "embedding.php | text.html.blade"
        }
    }
}

Neovim

En Neovim 0.11 o superior, puedes añadir una configuración LSP personalizada directamente:
vim.lsp.config("laravel_lsp", {
    cmd = { "laravel-lsp" },
    filetypes = { "php", "blade" },
    root_markers = { "artisan", "composer.json", ".git" },
})

vim.lsp.enable("laravel_lsp")
Si usas nvim-lspconfig, regístralo así:
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

Como Cursor soporta extensiones de VS Code, si tienes instalada la extensión de Laravel, la compatibilidad es automática. Para desarrollo local, usa un cliente LSP compatible con VS Code y especifica el comando:
laravel-lsp

VS Code

VS Code también dispone de funciones de cliente LSP, por lo que se puede configurar mediante extensiones.

OpenCode

En opencode.json habilita el soporte de LSP y configura Laravel LSP como servidor personalizado:
{
    "$schema": "https://opencode.ai/config.json",
    "lsp": {
        "laravel-lsp": {
            "command": ["laravel-lsp"],
            "extensions": [".php", ".blade.php"]
        }
    }
}

Configuración con GitHub Copilot CLI

Si usas GitHub Copilot CLI, puedes configurarlo globalmente en ~/.copilot/lsp-config.json. No hace falta configuración adicional en el editor:
{
  "lspServers": {
    "laravel-lsp": {
      "command": "laravel-lsp",
      "fileExtensions": {
        ".php": "php",
        ".blade.php": "blade"
      }
    }
  }
}
La configuración de servidor LSP del Copilot CLI también admite initializationOptions, con lo que puedes usar todas las opciones detalladas descritas a continuación.

Opciones de configuración

El cliente LSP puede pasar a Laravel LSP configuración detallada mediante initializationOptions.

Detección del entorno PHP

La opción phpEnvironment controla el comando PHP usado para indexar los datos del proyecto. Por defecto es auto, con detección automática:
ValorComportamiento del comando PHP
autoDetecta en el orden Herd → Valet → Sail → Lando → DDEV → PHP local
herdUsa herd which-php
valetUsa valet which-php
sailCon Sail en ejecución, usa ./vendor/bin/sail php
landoUsa lando php
ddevUsa ddev php
localUsa directamente el binario PHP local
Si la detección falla o se pasa un valor incorrecto, cae a php.

Ejemplo de configuración básica

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

Configuración por función

Cada función se puede activar/desactivar por separado. Los sufijos son Completion, Diagnostics, Hover, Link, etc.:
{
    "routeCompletion": true,
    "routeDiagnostics": true,
    "viewDiagnostics": false,
    "translationHover": true,
    "configLink": true,
    "envCompletion": true,
    "bladeComponentLink": true
}

Lista de funciones ofrecidas

Área de funciónAutocompletadoHoverDiagnósticoEnlaceQuick fix
Rutas-
Vistas y Blade
Traducción---
Configuración-
Variables de entorno
Assets y Mix-
Middleware-
Inertia--
Livewire--
Auth y Policies-
Container Bindings-
Validation----
Controller Actions--
Eloquent----

Inicio rápido

  1. Instalacomposer global require laravel/lsp
  2. Configura el editor — consulta la guía por editor de arriba
  3. Abre un proyecto Laravel — el servidor indexa desde la raíz los datos del proyecto: rutas, vistas, traducciones, configuración, etc.
  4. Usa el autocompletado — dentro de archivos PHP o plantillas Blade, el autocompletado consciente del framework funciona automáticamente

Conclusión

Laravel LSP es una herramienta que mejora enormemente la experiencia de desarrollo. Comprende contextos propios del framework que las funciones estándar del editor no pueden manejar y ofrece autocompletado y diagnóstico más precisos y útiles. Requisitos:
  • PHP 8.2 o superior
  • Composer
  • Editor compatible con LSP (Sublime Text, Neovim, Cursor, VS Code, etc.)
Referencias:
Última modificación el 13 de julio de 2026