Cet article se base sur la version v0.0.27 (juillet 2026). Le package est désormais publié sur Packagist et peut être installé via
composer global require laravel/lsp.Qu’est-ce que Laravel LSP ?
Laravel LSP (Language Server Protocol) est l’outil officiel qui apporte à votre éditeur des fonctionnalités d’IDE conscientes du framework Laravel. Le Language Server Protocol est un protocole standard de communication entre un client LSP (l’éditeur) et un serveur LSP (Laravel LSP), ce qui permet d’obtenir une expérience de développement unifiée sur plusieurs éditeurs. Fonctionnalités fournies par Laravel LSP :- Complétion — autocomplétion des routes, vues, clés de configuration, clés de traduction, composants Livewire, etc.
- Hover — au survol du curseur, affichage de descriptions, de documentation et d’informations contextuelles.
- Diagnostics — détection en temps réel des problèmes dans le code.
- Liens de documents — liens entre fichiers et ressources.
- Quick fixes — propositions de correction automatique pour les problèmes courants.
- Aller à la définition — saut jusqu’au lieu de définition d’un symbole.
À quoi cela sert-il ?
L’autocomplétion PHP standard des éditeurs ne comprend pas les couches d’abstraction du framework Laravel. Par exemple :- Saisir le premier argument de
Route::get()(un motif d’URI) ne déclenche aucune complétion. - Saisir le nom de la vue dans
view('users.index')ne propose pas les fichiers de vue réellement disponibles. - Les clés de configuration (
config('app.name')) ou de traduction (trans('messages.welcome')) ne sont pas prises en compte. - La complétion et la validation à l’intérieur des templates Blade ne sont pas gérées par les éditeurs standard.
Installation
Installation globale
Installez globalement via Composer :PATH, puis lancez :
Installation depuis les sources
Pour utiliser la version de développement, clonez le dépôt et lancez-le :laravel-lsp :
Guide de configuration par éditeur
Laravel LSP utilise le protocole LSP standard : il fonctionne donc avec tout éditeur qui prend en charge LSP. Voici la configuration pour les principaux éditeurs.Sublime Text
Installez et configurez l’extension officielle Laravel Sublime Text.Zed
Installez et configurez l’extension officielle Laravel Zed.VS Code
Installez et configurez l’extension officielle Laravel VS Code.Cursor
Cursor est compatible avec les extensions VS Code : vous pouvez donc utiliser telle quelle l’extension Laravel VS Code mentionnée ci-dessus.Neovim
Depuis Neovim 0.11, vous pouvez ajouter directement une configuration LSP personnalisée :nvim-lspconfig, enregistrez-le ainsi :
OpenCode
Activez le support LSP dansopencode.json et déclarez Laravel LSP comme serveur personnalisé :
Configuration dans GitHub Copilot CLI
Si vous utilisez GitHub Copilot CLI, la configuration globale se fait dans~/.copilot/lsp-config.json. Aucune configuration côté éditeur n’est nécessaire :
initializationOptions, ce qui vous permet d’utiliser toutes les options détaillées ci-dessous.
Options de configuration
Le client LSP peut transmettre des options détaillées à Laravel LSP viainitializationOptions.
Détection de l’environnement PHP
L’optionphpEnvironment contrôle la commande PHP utilisée pour indexer les données du projet. La valeur par défaut est auto (détection automatique) :
En cas d’échec de détection ou de valeur invalide, il retombe sur
php.
Exemple de configuration de base
DocBlocks des helpers Pest
Option ajoutée en v0.0.27. Lorsque les tests Pest ou le fichier d’autoload Composer changent, elle génère et maintient automatiquement les docblocks des helpers Pest :Configuration par fonctionnalité
Chaque fonctionnalité peut être activée ou désactivée individuellement. Les suffixes disponibles incluentCompletion, Diagnostics, Hover, Link, etc. :
Liste des fonctionnalités disponibles
Démarrage rapide
- Installer —
composer global require laravel/lsp - Configurer l’éditeur — consultez le guide de l’éditeur correspondant plus haut.
- Ouvrir un projet Laravel — le serveur indexe depuis la racine les routes, vues, traductions, configuration, etc.
- Utiliser la complétion — dans les fichiers PHP et les templates Blade, la complétion consciente du framework s’active automatiquement.
Conclusion
Laravel LSP améliore fortement l’expérience développeur. Il comprend les contextes propres au framework qu’un éditeur standard ne peut pas gérer et propose des complétions et diagnostics plus précis et utiles. Prérequis :- PHP 8.2 ou plus.
- Composer.
- Un éditeur compatible LSP (Sublime Text, Neovim, Cursor, VS Code, etc.).