Claude Code har i smyg uppgraderats och är äntligen inte längre en "textsökningsmaskin"
Har du någonsin funderat över följande när du skriver kod:
Varför kan du hoppa direkt till funktionsdefinitionen genom att trycka på Ctrl + klicka i VS Code? Varför kan du se fullständiga parameterbeskrivningar när du håller musen över en funktion? Varför kan din editor tala om för dig var du har gjort fel innan du ens har kört din kod?
Du använder dessa funktioner varje dag och det är fantastiskt.
Men du kanske inte vet att allt detta stöds av något som kallas LSP (Language Server Protocol).
Ännu viktigare är att Claude Code från och med version 2.0.74 också stöder LSP.
Vad betyder det?
Det betyder att Claude Code äntligen har gått från att vara en "textsökningsmaskin" till en AI som verkligen förstår kod.
Vad är LSP? Enkel förklaring
LSP är ett protokoll som Microsoft har skapat, och syftet är enkelt:
Att göra kodintelligensfunktioner tillgängliga i alla editorer.
Titta:
-
TypeScript:s språkserver kan användas i VS Code, JetBrains och Cursor
-
Nu kan den även användas i Claude Code
LSP är det som gör din editor smart:
-
Automatisk komplettering av funktionsnamn och parametrar
-
Hoppa till definition
-
Hitta alla referenser
-
Visa dokumentation vid hovring
-
Fel och varningar i realtid
Du skriver kod varje dag och har använt dessa funktioner otaliga gånger.
Men du har aldrig funderat på hur det fungerar.
Nu behöver du inte fundera på det, du behöver bara veta att: Claude Code nu också har dessa förmågor.
Hur fungerade Claude Code tidigare?
Innan Claude Code stödde LSP, hur hittade den definitionen av en funktion?
Genom att söka med grep.
I grund och botten var det en fulltextsökning för att hitta var tecknen "displayBooks" förekom.
Fungerar det? Ja, det fungerar.
AI-modellen har tränats på enorma mängder kod och kan verkligen härleda mycket från text.
Men vad är problemet?
Den förstår inte riktigt kodstrukturen.
Det är som att be någon att hitta "张三", de kan bara bläddra igenom en adressbok sida för sida för att hitta de två tecknen "张三".
Medan du använder din telefon för att söka efter "张三", direktanropar du databasen och får resultatet på nolltid.
Det är skillnaden.
Tidigare Claude Code: Läste varje fil, förlitade sig på textmatchning. Nuvarande Claude Code: Frågar direkt språkservern, exakt positionering
Skillnaden i effektivitet är enorm.
Vad har LSP gett Claude Code?
5 kärnfunktioner, var och en är ett effektivitetsverktyg:
1. goToDefinition - Hoppa till definition
Vad kan du göra med Ctrl+Click i VS Code? Hoppa direkt till funktionsdefinitionen.
Nu kan Claude Code också göra det.
Du frågar den: "Var definieras funktionen processRequest? Använd LSP"
Den kommer inte dumt att söka igenom alla filer.
Den frågar direkt språkservern och får svaret på nolltid: filnamn, radnummer, exakt position.
2. findReferences - Hitta alla referenser
Detta är en killer-funktion.
Du vill refaktorera en funktion, men vågar inte ändra den, rädd för att det ska krascha någon annanstans.
Vad gör du?
Tidigare var du tvungen att låta Claude Code läsa en fil i taget, vilket var dödligt långsamt.
Nu frågar du direkt: "Var anropas funktionen displayError? Använd LSP"
Språkservern listar direkt alla referensplatser.
Snabbt, exakt och skoningslöst.
3. hover - Hämta dokumentation och typinformation
När du håller musen över något i VS Code kan du se funktionssignaturer, parametertyper och dokumentationsbeskrivningar.
Claude Code kan nu också se det.
Fråga den: "Vilka parametrar accepterar funktionen displayBooks? Använd LSP"
Den behöver inte gissa, den läser direkt signaturen som returneras av språkservern.
Speciellt för dynamiska språk som Python var Claude tidigare tvungen att förlita sig på kontext för att härleda typer.Nu med LSP är typinformationen tydlig.
4. documentSymbol - Lista alla symboler i en fil
Vill du snabbt få en överblick över vilka klasser, funktioner och variabler som finns i en fil?
Fråga Claude: \Efter installation, starta om Claude Code.
claude
Steg 5: Verifiera att det fungerar
Skriv /plugin, kolla "Installed"-fliken, och se att ditt plugin finns där. // Kontrollera att ditt plugin är installerat och syns.
Testa lite:
Använd LSP för att hitta alla referenser till someFunction Om Claude Code använder find_references-verktyget istället för grep, så har det lyckats. // Om Claude Code använder LSP istället för grep, är det ett tecken på att det fungerar.
När ska man använda LSP? När ska man inte använda det?
LSP är inte en mirakelkur.
Scenarier där LSP är lämpligt:
-
Stora projekt (hundratals filer)
-
Spåra funktionsanrop över filer
-
Behöver exakta funktionssignaturer (särskilt dynamiska språk)
-
Refaktorera kod, rädd för att skapa buggar
Scenarier där LSP inte är lämpligt:
-
Små projekt, snabba skript
-
Enkla textsökningar
-
Bara hitta var en sträng finns
Kort sagt, använd grep när det är snabbt, och LSP när det är exakt. // Välj verktyg baserat på hastighet och precision.
Verktyg är till för att tjäna människor, inte för att användas bara för sakens skull. // Använd verktygen för att lösa problem, inte bara för att använda dem.
Några fallgropar, jag berättar om dem i förväg
Fallgrop 1: Språkservern måste finnas i PATH
Om Claude Code säger "No LSP server available", är det troligtvis att din språkserver inte är installerad korrekt, eller inte finns i PATH. // Om Claude Code inte hittar LSP-servern, kontrollera installationen och PATH.
Kör which pyright (eller din språkserver) i terminalen, och se om den kan hittas. // Använd 'which' för att verifiera att språkservern är tillgänglig.
Fallgrop 2: Starta om efter installation av plugin
Efter att ha installerat ett nytt plugin eller uppdaterat språkservern, se till att starta om Claude Code. // Starta om Claude Code efter installation eller uppdatering av LSP-relaterade komponenter.
Språkservern laddas vid uppstart.
Fallgrop 3: Ibland måste du tydligt säga "använd LSP"
Om du upptäcker att Claude Code fortfarande använder grep istället för LSP, lägg till en mening "använd LSP": // Om Claude Code inte använder LSP, var explicit i din begäran.
Använd LSP för att hitta alla referenser till authenticateUser På så sätt vet den att den ska använda språkservern. // Specificera att du vill använda LSP för att säkerställa att rätt verktyg används.
Fallgrop 4: Inga visuella tips
Till skillnad från VS Code, kommer Claude Code inte att berätta för dig om LSP-servern körs eller inte. // Claude Code ger inte visuell feedback om LSP-serverns status.
Ingen statusfältikon, inga notiser.
Det enda sättet att bekräfta: faktiskt test. // Det enda sättet att veta säkert är att testa funktionaliteten.
Slutligen några ord
Att Claude Code stöder LSP är ingen liten uppdatering, det är en kvalitativ förändring. // LSP-stödet i Claude Code är en betydande förbättring.
Tidigare var det "textsökning + AI-inferens". // Tidigare förlitade sig Claude Code på textsökning och AI.
Nu är det "språkserver + AI-förståelse". // Nu kombineras språkserverns precision med AI:s förståelse.
Det är som att du gick från att bläddra i en telefonbok till att använda en sökmotor. // Skillnaden är som att gå från en telefonbok till en sökmotor.
Effektivitetsskillnaden är enorm. // Effektivitetsvinsten är enorm.
Om du använder Claude Code för ett seriöst projekt, lägg 5 minuter på att ställa in LSP. // Om du använder Claude Code för seriösa projekt, investera tid i att konfigurera LSP.
De 5 minuterna är väl investerade. // Det är värt investeringen.
Att göra-lista:
-
Lägg till
export ENABLE_LSP_TOOLS=1i din shell-konfiguration // Aktivera LSP genom att lägga till miljövariabeln. -
Öppna Claude Code, kör
/pluginför att installera ditt språkplugin // Installera språkpluginet i Claude Code. -
Installera motsvarande språkserver binärfil // Installera den binära filen för språkservern.
-
Starta om Claude Code // Starta om Claude Code för att ladda de nya inställningarna.
-
Testa "Använd LSP för att hitta alla referenser till XXX" // Verifiera att LSP fungerar genom att testa en sökning.
Efter installationen kommer du att upptäcka: Ursprungligen Claude Code kan vara så här snabb.





