Claude Code heeft stiekem een upgrade gekregen en is eindelijk geen "tekstzoekmachine" meer
Heb je je ooit afgevraagd tijdens het coderen:
Waarom kan ik direct naar de functiedefinitie springen door Ctrl + klikken in VS Code? Waarom kan ik de volledige parameterbeschrijving zien als ik met mijn muis over een functie beweeg? Waarom kan mijn editor me vertellen waar er fouten zitten, zelfs voordat mijn code draait?
Je gebruikt deze functies elke dag en geniet er volop van.
Maar je weet misschien niet dat dit allemaal wordt ondersteund door iets dat LSP (Language Server Protocol) wordt genoemd.
Belangrijker nog, Claude Code ondersteunt LSP vanaf versie 2.0.74.
Wat betekent dit?
Het betekent dat Claude Code eindelijk is getransformeerd van een "tekstzoekmachine" naar een AI die code echt begrijpt.
Wat is LSP? In eenvoudige bewoordingen
LSP is een protocol dat door Microsoft is ontwikkeld met een simpel doel:
Code-intelligentiefuncties beschikbaar maken in elke editor.
Kijk:
-
De taalserver van TypeScript kan worden gebruikt in VS Code, JetBrains en Cursor
-
Nu kan het ook in Claude Code
LSP is wat je editor slim maakt:
-
Automatisch aanvullen van functienamen en parameters
-
Naar definitie springen
-
Alle verwijzingen zoeken
-
Documentatie weergeven bij zweven
-
Real-time fouten en waarschuwingen
Je gebruikt deze functies talloze keren per dag bij het schrijven van code.
Maar je hebt er nooit over nagedacht hoe het wordt geïmplementeerd.
Je hoeft er nu niet meer over na te denken, je hoeft alleen maar te weten: Claude Code heeft nu ook deze mogelijkheden.
Hoe werkte Claude Code eerder?
Voordat LSP werd ondersteund, wat moest Claude Code doen om de definitie van een functie te vinden?
Vertrouwen op grep-zoekopdrachten.
Simpel gezegd, het was een volledige tekstzoekopdracht om te vinden waar de tekens "displayBooks" voorkomen.
Is dit bruikbaar? Ja, het is bruikbaar.
AI-modellen zijn getraind op enorme hoeveelheden code en kunnen inderdaad veel dingen afleiden uit tekst.
Maar wat is het probleem?
Het begrijpt de codestructuur niet echt.
Het is alsof je iemand vraagt om "张三" (Zhang San) te vinden, hij kan alleen maar pagina voor pagina door het adresboek bladeren op zoek naar de tekens "张三".
Maar als je op je telefoon zoekt naar "张三", raadpleeg je direct de database en krijg je binnen enkele seconden resultaten.
Dat is het verschil.
De vorige Claude Code: elk bestand lezen en vertrouwen op tekstmatching. De huidige Claude Code: direct de taalserver vragen voor nauwkeurige lokalisatie.
Het verschil in efficiëntie is enorm.
Wat heeft LSP Claude Code gebracht?
5 kernmogelijkheden, elk een efficiëntie-instrument:
1. goToDefinition - Naar definitie springen
Wat kun je doen met Ctrl+Click in VS Code? Direct naar de plaats springen waar de functie is gedefinieerd.
Nu kan Claude Code hetzelfde doen.
Je vraagt het: "Waar is de functie processRequest gedefinieerd? Gebruik LSP"
Het zal niet domweg alle bestanden doorzoeken.
Het vraagt direct de taalserver en geeft binnen enkele seconden het antwoord: bestandsnaam, regelnummer, exacte locatie.
2. findReferences - Alle verwijzingen zoeken
Dit is een killer-functie.
Je wilt een functie refactoren, maar je durft het niet te veranderen, uit angst dat het andere plaatsen zal breken.
Wat te doen?
Voorheen moest je Claude Code elk bestand laten lezen, wat tergend langzaam was.
Nu vraag je direct: "Waar wordt de functie displayError aangeroepen? Gebruik LSP"
De taalserver geeft je direct een lijst met alle verwijzingslocaties.
Snel, nauwkeurig en meedogenloos.
3. hover - Documentatie en type-informatie ophalen
Als je met je muis over iets beweegt in VS Code, kun je de functiesignatuur, parametertypen en documentatie zien.
Claude Code kan dit nu ook zien.
Vraag het: "Welke parameters accepteert de functie displayBooks? Gebruik LSP"
Het hoeft niet te raden, het leest direct de signatuur die door de taalserver wordt geretourneerd.
Vooral voor dynamische talen zoals Python kon Claude voorheen alleen typen afleiden uit de context. Nu met LSP is type-informatie in één oogopslag duidelijk.
4. documentSymbol - Alle symbolen van een bestand weergeven
Wilt u snel weten welke klassen, functies en variabelen er in een bestand zitten?
Vraag Claude: "Welke symbolen zitten er in backend/index.js? Gebruik LSP"
Het geeft je een gestructureerde lijst terug, helder en duidelijk.
5. workspaceSymbol - Zoeken naar symbolen in het hele project
Dit is nog heftiger.
Het zoekt niet naar tekst, maar naar symbolen.
Wilt u alle methoden vinden die "innerHTML" bevatten?
De taalserver vindt ze direct voor u, geen string matching, maar echte code symbolen.
Praktijk: Welke problemen kan LSP nu eigenlijk oplossen?
Laat al dat theoretische gedoe achterwege, kijk naar praktische voorbeelden.
Voorbeeld 1: Functie-aanroepen volgen
Er is een project genaamd AseBook Finder, de frontend heeft een displayBooks functie.
U wilt weten waar deze functie wordt aangeroepen.
Wat deed u voorheen? Claude Code grep een keer, mogelijk mist u iets, mogelijk valse meldingen.
Nu vraagt u direct: "Zoek alle referenties van displayBooks met LSP"
Resultaat:
-
Locatie van de functiedefinitie
-
Locatie waar het wordt aangeroepen na een succesvolle fetch
-
Alle andere plaatsen waar het wordt gerefereerd
Nauwkeurig, snel en zonder iets te missen.
Voorbeeld 2: Functieparameters begrijpen
U wilt dat Claude een stuk code genereert dat de displayError functie aanroept.
Maar u weet niet zeker welke parameters deze functie accepteert.
Vraag het: "Welke parameters accepteert displayError? Gebruik LSP"
De taalserver geeft direct terug: accepteert een message parameter.
Claude weet het, de gegenereerde code zal geen fouten bevatten.
Voorbeeld 3: API-aanroepen vinden
U wilt weten waar in het project de /api/recommendations API wordt aangeroepen.
Vraag Claude: "Zoek alle referenties van /api/recommendations met LSP"
Het vindt de locatie van de fetch aanroep, tot op de regel nauwkeurig.
Super handig voor het debuggen van API problemen en het volgen van de datastroom.
Voorbeeld 4: Fouten vroegtijdig ontdekken
U bent code aan het refactoren en spelt per ongeluk een variabelenaam verkeerd.
Normaal gesproken moet u de code uitvoeren om dit te ontdekken.
Maar met LSP controleert de taalserver real-time en rapporteert het probleem direct aan Claude Code.
Claude vertelt u voordat u de code uitvoert: hier zit een fout.
Hoe instellen? 5 stappen zijn voldoende
Geen paniek, de installatie is eenvoudig.
Stap 1: LSP-tools inschakelen
Voeg een regel toe aan uw shell configuratiebestand (.bashrc of .zshrc):
export ENABLE_LSP_TOOLS=1 en voer vervolgens source ~/.zshrc uit om het effectief te maken.
Stap 2: Taalserver plugin installeren
Open Claude Code, typ:
/plugin zoek de plugin voor de taal die u gebruikt:
-
Python: selecteer pyright-lsp
-
TypeScript/JavaScript: selecteer vtsls of typescript-lsp
-
Go: selecteer gopls
-
Rust: selecteer rust-analyzer
Selecteer "Install for me only" om te installeren.
Stap 3: Taalserver binaire bestanden installeren
De plugin is slechts een interface, de taalserver zelf doet het echte werk.
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
Stap 4: Claude Code herstartenclaude
Stap 5: Verifiëren of het werkt
Typ /plugin en controleer het tabblad "Installed". Als je je plugin ziet, is het goed.
Test het even:
Gebruik LSP om alle referenties van someFunction te vinden Als Claude Code de find_references tool gebruikt in plaats van grep, is het gelukt.
Wanneer LSP gebruiken? Wanneer niet?
LSP is geen wondermiddel.
Geschikte scenario's voor LSP:
-
Grote projecten (honderden bestanden)
-
Functie-aanroepen traceren over verschillende bestanden
-
Nauwkeurige functie-signatures nodig (vooral dynamische talen)
-
Code refactoren, bang voor bugs
Ongeschikte scenario's voor LSP:
-
Kleine projecten, snelle scripts
-
Eenvoudige tekstzoekopdrachten
-
Gewoon een string zoeken
Kortom, gebruik grep als het snel is, en LSP als het nauwkeurig is.
Tools zijn er om mensen te helpen, niet om gebruikt te worden om het gebruiken.
Een paar valkuilen, zodat je ze weet
Valkuil 1: De language server moet in PATH staan
Als Claude Code zegt "No LSP server available", is de kans groot dat je language server niet correct is geïnstalleerd, of niet in PATH staat.
Voer which pyright (of je language server) uit in de terminal om te zien of je hem kunt vinden.
Valkuil 2: Na installatie moet je herstarten
Na het installeren van een nieuwe plugin of het updaten van de language server, moet je Claude Code herstarten.
Language servers worden geladen bij het opstarten.
Valkuil 3: Soms moet je expliciet zeggen "Gebruik LSP"
Als je merkt dat Claude Code nog steeds grep gebruikt in plaats van LSP, voeg dan de zin "Gebruik LSP" toe:
Gebruik LSP om alle referenties van authenticateUser te vinden Zo weet het dat het de language server moet gebruiken.
Valkuil 4: Geen visuele hints
In tegenstelling tot VS Code, laat Claude Code je niet weten of de LSP server draait.
Geen statusbalkpictogram, geen meldingen.
De enige manier om het te bevestigen: daadwerkelijk testen.
Tot slot nog een paar woorden
De ondersteuning van LSP in Claude Code is geen kleine update, het is een kwalitatieve verandering.
Voorheen was het "tekst zoeken + AI-inferentie".
Nu is het "language server + AI-begrip".
Het is alsof je van het doorbladeren van een telefoonboek overgaat op het gebruik van een zoekmachine.
Het verschil in efficiëntie is enorm.
Als je Claude Code gebruikt voor serieuze projecten, neem dan 5 minuten de tijd om LSP in te stellen.
Die 5 minuten zijn het waard.
Actielijst:
-
Voeg
export ENABLE_LSP_TOOLS=1toe aan je shell configuratie -
Open Claude Code en voer
/pluginuit om je language plugin te installeren -
Installeer de bijbehorende language server binary
-
Herstart Claude Code
-
Test het met "Gebruik LSP om alle referenties van XXX te vinden"
Na installatie zul je ontdekken: Zo snel kan Claude Code dus ook zijn.





