Claude Code har fått en snik-oppgradering, og er endelig ikke lenger en "tekstsøk-maskin"
Har du noen gang tenkt over følgende spørsmål når du skriver kode:
Hvorfor kan du hoppe direkte til funksjonsdefinisjonen ved å trykke Ctrl + Klikk i VS Code? Hvorfor kan du se fullstendige parameterbeskrivelser når du holder musepekeren over en funksjon? Hvorfor kan editoren fortelle deg hvor du har gjort feil før du kjører koden?
Du bruker disse funksjonene hver dag, og det er fantastisk.
Men du vet kanskje ikke at alt dette støttes av noe som heter LSP (Language Server Protocol).
Viktigere er det at Claude Code fra og med versjon 2.0.74 også støtter LSP.
Hva betyr dette?
Det betyr at Claude Code endelig har gått fra å være en "tekstsøk-maskin" til å bli en AI som virkelig forstår kode.
Hva er LSP? Enkelt forklart
LSP er en protokoll utviklet av Microsoft, og målet er enkelt:
Å gjøre kodeintelligens tilgjengelig i alle editorer.
Se her:
-
Språkserveren for TypeScript kan brukes i VS Code, JetBrains og Cursor
-
Nå kan den også brukes i Claude Code
LSP er det som gjør editoren din smartere:
-
Automatisk fullføring av funksjonsnavn og parametere
-
Hopp til definisjon
-
Finn alle referanser
-
Vis dokumentasjon ved musepeker
-
Feil og advarsler i sanntid
Du bruker disse funksjonene utallige ganger hver dag når du skriver kode.
Men du har aldri tenkt over hvordan det implementeres.
Nå trenger du ikke å tenke på det, du trenger bare å vite at: Claude Code nå også har disse evnene.
Hvordan fungerte Claude Code før?
Før LSP-støtte, hva måtte Claude Code gjøre for å finne hvor en funksjon er definert?
Bruke grep-søk.
Kort sagt, det var et fulltekstsøk for å finne hvor tegnene "displayBooks" forekommer.
Fungerer det? Ja, det fungerer.
AI-modellen er trent på enorme mengder kode, og kan faktisk utlede mye fra teksten.
Men hva er problemet?
Den forstår ikke den faktiske kodestrukturen.
Det er som å be noen finne "张三", de kan bare bla gjennom adresseboken side for side for å finne de to tegnene "张三". (Zhang San er et vanlig kinesisk navn, og eksemplet illustrerer at man må lete manuelt i en liste.)
Men når du søker etter "张三" på telefonen din, henter du direkte fra databasen og får resultatet på et sekund.
Det er forskjellen.
Tidligere Claude Code: Leser hver fil, basert på tekstmatching Nåværende Claude Code: Spør direkte språkserveren, presis lokalisering
Effektivitetsforskjellen er enorm.
Hva har LSP brakt til Claude Code?
5 kjernefunksjoner, hver og en er et effektivitetsverktøy:
1. goToDefinition - Hopp til definisjon
Hva kan du gjøre med Ctrl+Click i VS Code? Hoppe direkte til funksjonsdefinisjonen.
Nå kan Claude Code også gjøre det.
Du spør den: "Hvor er funksjonen processRequest definert? Bruk LSP"
Den vil ikke dumt søke gjennom alle filene.
Den spør direkte språkserveren og får svaret på et sekund: filnavn, linjenummer, nøyaktig plassering.
2. findReferences - Finn alle referanser
Dette er en killer-funksjon.
Du vil refaktorere en funksjon, men tør ikke endre den i frykt for at andre steder vil krasje.
Hva gjør du?
Før måtte du la Claude Code lese hver fil, noe som var veldig tregt.
Nå spør du bare: "Hvor blir funksjonen displayError kalt? Bruk LSP"
Språkserveren vil direkte liste opp alle referanseplasseringer for deg.
Raskt, nøyaktig og effektivt.
3. hover - Hent dokumentasjon og typeinformasjon
Når du holder musepekeren over i VS Code, kan du se funksjonssignatur, parametertyper og dokumentasjonsbeskrivelser.
Claude Code kan nå også se det.
Spør den: "Hvilke parametere aksepterer funksjonen displayBooks? Bruk LSP"
Den trenger ikke å gjette, den leser direkte signaturen som returneres av språkserveren.
Spesielt for dynamiske språk som Python, måtte Claude tidligere stole på kontekst for å utlede typer.Nå er typeinformasjonen tydelig med LSP.
4. documentSymbol - Liste over alle symboler i filen
Vil du raskt finne ut hvilke klasser, funksjoner og variabler en fil inneholder?
Spør Claude: "Hvilke symboler finnes i backend/index.js? Bruk LSP"
Den gir deg en strukturert liste, tydelig og oversiktlig.
5. workspaceSymbol - Søk etter symboler i hele prosjektet
Dette er enda bedre.
Det søker ikke etter tekst, men etter symboler.
Vil du finne alle metoder som inneholder "innerHTML"?
Språkserveren finner dem direkte for deg, ikke strengmatching, men ekte kodesymboler.
Praktisk bruk: Hvilke problemer kan LSP egentlig løse?
Dropp det abstrakte, la oss se på faktiske eksempler.
Eksempel 1: Sporing av funksjonskall
Det finnes et prosjekt som heter AseBook Finder, og frontend har en displayBooks-funksjon.
Du vil vite hvor denne funksjonen blir kalt.
Hva gjorde du før? Claude Code grep gjennom alt, kanskje du gikk glipp av noe, kanskje du fikk falske positiver.
Nå spør du direkte: "Finn alle referanser til displayBooks med LSP"
Resultat:
-
Funksjonsdefinisjonens plassering
-
Plasseringen der den kalles etter vellykket fetch
-
Alle andre steder den refereres til
Nøyaktig, raskt og uten utelatelser.
Eksempel 2: Forstå funksjonsparametere
Du vil at Claude skal generere en kodebit som kaller displayError-funksjonen.
Men du er usikker på hvilke parametere denne funksjonen aksepterer.
Spør den: "Hvilke parametere aksepterer displayError? Bruk LSP"
Språkserveren returnerer direkte: Den aksepterer en message-parameter.
Claude vet det, og koden som genereres vil ikke inneholde feil.
Eksempel 3: Finn API-kall
Du vil finne ut hvor i prosjektet /api/recommendations-grensesnittet kalles.
Spør Claude: "Finn alle referanser til /api/recommendations med LSP"
Den finner plasseringen av fetch-kallet, nøyaktig ned til linjen.
Supernyttig for feilsøking av API-problemer og sporing av dataflyt.
Eksempel 4: Oppdag feil tidlig
Du refaktoriserer kode og staver ved et uhell et variabelnavn feil.
Normalt sett må du kjøre koden for å oppdage det.
Men med LSP sjekker språkserveren i sanntid og rapporterer problemet umiddelbart til Claude Code.
Claude forteller deg at det er en feil her før du kjører koden.
Hvordan sette det opp? 5 trinn er nok
Ikke få panikk, oppsettet er enkelt.
Trinn 1: Aktiver LSP-verktøy
Legg til en linje i shell-konfigurasjonsfilen din (.bashrc eller .zshrc):
exportENABLE_LSP_TOOLS=1 og kjør deretter source ~/.zshrc for å aktivere.
Trinn 2: Installer språkserver-plugin
Åpne Claude Code, skriv:
/plugin finn plugin-en som tilsvarer språket du bruker:
-
Python: velg pyright-lsp
-
TypeScript/JavaScript: velg vtsls eller typescript-lsp
-
Go: velg gopls
-
Rust: velg rust-analyzer
Velg "Install for me only", installer.
Trinn 3: Installer den binære filen for språkserveren
Plugin-en er bare et grensesnitt, det er selve språkserveren som gjør jobben.
Python:
pip install pyright TypeScript/JavaScript:
npm install -g @vtsls/language-server typescript Go:
go install golang.org/x/tools/gopls@latest Rust:
rustup component add rust-analyzer





