Vai al contenuto principale
Claude Code e open source

Plugin LSP ufficiali: collegare un language server a Claude Code

· 5 minuti di lettura · Redazione Scrivere.AI

In breve

  • I plugin LSP ufficiali collegano Claude Code a un language server, così Claude vede errori di tipo, import mancanti ed errori di sintassi subito dopo ogni modifica e cerca definizioni e riferimenti per simbolo.
  • Il marketplace ufficiale ha un plugin per linguaggio con nome del tipo php-lsp o typescript-lsp, ma il language server va installato a parte e deve trovarsi nel PATH della shell da cui si avvia Claude Code.
  • Per un progetto PHP si installa Intelephense con npm, poi si esegue /plugin install php-lsp@claude-plugins-official e si verifica che dopo una modifica compaia la riga delle diagnostiche.

I plugin LSP ufficiali collegano Claude Code a un language server, lo stesso programma che nel tuo editor segnala gli errori mentre scrivi e permette di saltare alla definizione di una funzione. Con il plugin attivo, Claude vede subito gli errori di tipo, gli import mancanti e gli errori di sintassi introdotti dalle sue modifiche, e trova definizioni e riferimenti per simbolo invece che cercando testo. Il marketplace ufficiale ne offre uno per ciascuno dei linguaggi più diffusi.

Detto in modo semplice: senza language server, Claude modifica un file e scopre di aver sbagliato solo quando qualcuno lancia la compilazione o i test. Con il language server riceve la segnalazione subito dopo la modifica, come un programmatore che vede la riga sottolineata in rosso. In questa rassegna vediamo quali plugin esistono, perché il server va installato a parte e come si configura il caso PHP, utile a chi sviluppa siti e gestionali.

Che cos'è un language server e cosa aggiunge a Claude Code?

Un language server è un programma che conosce un linguaggio di programmazione e risponde a domande sul codice: dove è definito questo simbolo, chi lo usa, quali errori ci sono in questo file. Comunica con l'editor attraverso il Language Server Protocol (LSP), un protocollo standard. Secondo la documentazione sui plugin di code intelligence, Claude Code ne ricava due cose:

  • Diagnostica dopo le modifiche: ogni volta che Claude scrive o modifica un file gestito dal server, riceve errori e avvisi. Nella conversazione compare la riga Found N new diagnostic issues in M files, e con Ctrl+O puoi leggere i dettagli.
  • Navigazione del codice: Claude ottiene uno strumento LSP per cercare i simboli attraverso il server. Lo strumento è in sola lettura.

Non va confuso con Serena, che offre navigazione semantica attraverso un server MCP con molte funzioni in più: ne parliamo nell'articolo su Serena MCP. I plugin LSP ufficiali fanno una cosa sola e la fanno con il meccanismo nativo di Claude Code.

Quali plugin LSP ufficiali esistono?

I nomi seguono lo schema <linguaggio>-lsp. Questa è la tabella della documentazione, con il programma da installare per ciascuno:

Linguaggio Plugin Language server richiesto
C/C++clangd-lspclangd
C#csharp-lspcsharp-ls
Gogopls-lspgopls
Javajdtls-lspjdtls
Kotlinkotlin-lspkotlin-lsp
Lualua-lsplua-language-server
PHPphp-lspintelephense
Pythonpyright-lsppyright-langserver
Rubyruby-lspruby-lsp
Rustrust-analyzer-lsprust-analyzer
Swiftswift-lspsourcekit-lsp
TypeScript e JavaScripttypescript-lsptypescript-language-server

Questi dodici sono mantenuti da Anthropic. Il marketplace ufficiale elenca anche liquid-lsp per i template Shopify, mantenuto da Shopify e basato sulla loro riga di comando.

Perché il language server va installato a parte?

Il plugin non contiene il language server: dice solo a Claude Code quale comando avviare e quali estensioni di file affidargli. Il programma vero lo installi tu, con lo strumento previsto per il suo linguaggio, e deve essere nel PATH della shell da cui lanci claude. Il motivo è pratico: ogni ecosistema ha il proprio gestore di pacchetti e le proprie versioni, e conviene usare lo stesso server che usa già il tuo editor.

Se il programma manca, il plugin si installa lo stesso ma il server non parte: nella scheda Errors di /plugin compare Executable not found in $PATH con il nome del binario da installare. Vale anche il contrario: se il server è già presente e il plugin no, Claude Code può proporti di installarlo con la finestra LSP plugin recommendation, al massimo una volta per sessione.

Esempio pratico: PHP con Intelephense

Per chi lavora su siti WordPress, gestionali in PHP o progetti Laravel, il plugin è php-lsp, che usa Intelephense e gestisce i file .php. Il suo README indica di installare il server con npm:

npm install -g intelephense
which intelephense

Il secondo comando serve a controllare che il programma sia raggiungibile. Poi, dentro una sessione di Claude Code:

/plugin install php-lsp@claude-plugins-official

Un messaggio ti dice se il plugin è già attivo o se serve /reload-plugins. Il server parte la prima volta che Claude modifica un file PHP. Per verificarlo, la documentazione suggerisce di chiedere a Claude di introdurre un errore e poi correggerlo: se sotto la modifica compare la riga delle diagnostiche, tutto funziona. Da quel momento, quando Claude rinomina un metodo in una classe di un gestionale, si accorge subito dei punti in cui la vecchia chiamata è rimasta. I dettagli del plugin sono nella cartella di php-lsp nel repository ufficiale.

Limiti e cautele

  • Solo nel terminale: nelle sessioni cloud Claude Code non avvia i language server dei plugin, quindi lì non c'è diagnostica.
  • Memoria: mentre il server indicizza il progetto l'uso di memoria cresce; nei monorepo possono comparire falsi errori su import non risolti.
  • Un server per estensione: se due plugin attivi gestiscono la stessa estensione, viene usato solo il primo registrato.
  • Permessi: il language server è un programma che gira sul tuo computer con i tuoi permessi. Installalo dalle fonti ufficiali del suo progetto, come faresti per l'editor. I criteri generali sono nell'articolo sulla sicurezza dei plugin.

Se il tuo linguaggio non è in tabella, puoi collegare un language server scrivendo un plugin con un file .lsp.json: il procedimento generale è nella guida a creare un plugin.

Per chi ha senso?

Per chiunque usi Claude Code su codice vero in uno dei linguaggi in tabella: è uno dei plugin con il miglior rapporto tra utilità e complessità, perché non cambia il modo di lavorare e riduce gli errori che arrivano fino alla compilazione. Per un responsabile IT è anche facile da standardizzare: un plugin per linguaggio, il server già usato dagli editor del team.

Cosa fare adesso: installa il language server del linguaggio principale del tuo progetto, poi il plugin corrispondente, e fai la prova dell'errore introdotto e corretto. Per gli altri plugin da affiancare trovi la guida ai plugin di Claude Code e la rassegna dei plugin da provare.

Domande frequenti

A cosa serve un plugin LSP in Claude Code?

Fa ricevere a Claude gli errori e gli avvisi del language server dopo ogni modifica e gli dà uno strumento in sola lettura per cercare i simboli nel codice. Così si accorge dei propri errori prima della compilazione o dei test.

Perché il plugin LSP non funziona dopo l'installazione?

Quasi sempre manca il language server: il plugin non lo contiene. Nella scheda Errors di /plugin compare Executable not found in $PATH con il nome del programma da installare.

Quale plugin LSP serve per PHP e WordPress?

Il plugin è php-lsp del marketplace ufficiale, che usa il language server Intelephense per i file .php. Intelephense si installa con npm install -g intelephense.

I plugin LSP funzionano nelle sessioni cloud di Claude Code?

No. Secondo la documentazione, nelle sessioni cloud Claude Code non avvia i language server dei plugin, quindi la diagnostica è disponibile solo nelle sessioni da terminale.

Continua a leggere