Claude Code slaptai atnaujintas, pagaliau nebe "teksto paieškos mašina"

2/13/2026
7 min read

Ar rašydami kodą kada nors pagalvojote apie šį klausimą:

Kodėl VS Code paspaudus Ctrl + spustelėjus, galima tiesiogiai pereiti prie funkcijos apibrėžimo? Kodėl užvedus pelę ant funkcijos, galima pamatyti išsamų parametrų aprašymą? Kodėl jūsų kodas dar neįvykdytas, o redaktorius jau gali pasakyti, kur yra klaida?

Šias funkcijas naudojate kiekvieną dieną ir džiaugiatės jomis.

Tačiau galbūt nežinote, kad visa tai palaiko kažkas, kas vadinasi LSP (Language Server Protocol).

Dar svarbiau, kad Claude Code 2.0.74 versija taip pat palaiko LSP.

Ką tai reiškia?

Tai reiškia, kad Claude Code pagaliau iš "teksto paieškos mašinos" tapo tikru kodu suprantančiu AI.

Kas yra LSP? Paprastai tariant

LSP yra Microsoft sukurtas protokolas, kurio tikslas labai paprastas:

Kad kodo intelektualios funkcijos būtų prieinamos bet kuriame redaktoriuje.

Claude Code LSPPažiūrėkite:

  • TypeScript kalbos serveris veikia VS Code, veikia JetBrains, veikia Cursor

  • Dabar veikia ir Claude Code

LSP yra tai, kas padaro jūsų redaktorių protingesnį:

  • Automatiškai užbaigia funkcijų pavadinimus ir parametrus

  • Pereina prie apibrėžimo

  • Randa visas nuorodas

  • Užvedus pelę rodo dokumentaciją

  • Realaus laiko klaidos ir įspėjimai

Kiekvieną dieną rašydami kodą, šias funkcijas naudojate daugybę kartų.

Tačiau niekada nesusimąstėte, kaip tai įgyvendinama.

Dabar nereikia galvoti, tereikia žinoti: Claude Code dabar taip pat turi šias galimybes.

Kaip Claude Code dirbo anksčiau?

Prieš palaikant LSP, ką turėjo daryti Claude Code, norėdamas rasti, kur apibrėžta funkcija?

Remtis grep paieška.

Kitaip tariant, tai buvo viso teksto paieška, ieškant, kur pasirodo šie simboliai "displayBooks".

Ar tai veikia? Taip, veikia.

AI modelis apmokytas su daugybe kodo, todėl iš teksto tikrai gali išvesti daug dalykų.

Bet kur problema?

Jis tikrai nesupranta kodo struktūros.

Tai tarsi paprašytumėte žmogaus surasti "Joną Jonaitį", jis galėtų tik vartyti adresų knygą puslapis po puslapio, ieškodamas žodžių "Jonas Jonaitis".

O jūs, ieškodami "Jono Jonaičio" telefonu, tiesiogiai kreipiatės į duomenų bazę ir akimirksniu gaunate rezultatą.

Štai skirtumas.

Prieš tai Claude Code: skaitė kiekvieną failą po vieną, remdamasis teksto atitikimu. Dabar Claude Code: tiesiogiai klausia kalbos serverio, tiksliai nustatydamas vietą.

Efektyvumo skirtumas yra didžiulis.

Ką LSP atnešė Claude Code?

5 pagrindinės galimybės, kiekviena iš jų yra efektyvumo įrankis:

1. goToDefinition - Pereiti prie apibrėžimo

Ką galite padaryti VS Code paspaudę Ctrl+Click? Tiesiogiai pereiti į funkcijos apibrėžimo vietą.

Dabar Claude Code taip pat gali tai padaryti.

Klausiate jo: "Kur apibrėžta processRequest funkcija? Naudojant LSP"

Jis kvailai neieškos visuose failuose.

Jis tiesiogiai paklaus kalbos serverio ir akimirksniu gaus atsakymą: failo pavadinimas, eilutės numeris, tiksli vieta.

2. findReferences - Rasti visas nuorodas

Tai yra žudikiška funkcija.

Norite restruktūrizuoti funkciją, bet nedrįstate keisti, nes bijote, kad pakeitus kitos vietos sugrius.

Ką daryti?

Prieš tai turėjote leisti Claude Code skaityti kiekvieną failą po vieną, tai užtruktų labai ilgai.

Dabar tiesiogiai klausiate: "Kuriose vietose buvo iškviesta displayError funkcija? Naudojant LSP"

Kalbos serveris tiesiogiai pateikia visas nuorodų vietas.

Greitai, tiksliai ir negailestingai.

3. hover - Gauti dokumentaciją ir tipo informaciją

VS Code užvedus pelę, galite pamatyti funkcijos parašą, parametrų tipus, dokumentacijos aprašymą.

Claude Code dabar taip pat gali tai pamatyti.

Paklauskite jo: "Kokius parametrus priima displayBooks funkcija? Naudojant LSP"

Jam nereikia spėlioti, jis tiesiogiai skaito kalbos serverio grąžintą parašą.

Ypač Python, dinaminėje kalboje, anksčiau Claude galėjo tik spėlioti tipus pagal kontekstą.Dabar su LSP, tipo informacija yra aiški.

4. documentSymbol - išvardinti visus failo simbolius

Norite greitai suprasti, kokios klasės, funkcijos, kintamieji yra faile?

Paklauskite Claude: "Kokie simboliai yra backend/index.js? Naudok LSP"

Jis jums grąžins struktūruotą sąrašą, aiškiai ir suprantamai.

5. workspaceSymbol - viso projekto simbolių paieška

Šis yra dar galingesnis.

Ieško ne teksto, o simbolių.

Norite rasti visus metodus, kuriuose yra "innerHTML"?

Kalbos serveris tiesiogiai juos suras, tai nėra eilutės atitikimas, tai tikras kodo simbolis.

Praktika: kokias problemas iš tikrųjų gali išspręsti LSP?

Nekalbėkime apie abstrakčius dalykus, pažiūrėkime į realius atvejus.

1 atvejis: funkcijos iškvietimo sekimas

Yra projektas pavadinimu AseBook Finder, priekinėje dalyje yra displayBooks funkcija.

Norite sužinoti, kur ši funkcija yra iškviesta.

Ką darydavote anksčiau? Claude Code grep peržiūrėdavo viską, galėjo praleisti, galėjo pateikti klaidingų pranešimų.

Dabar tiesiog paklauskite: "Raskite visas displayBooks nuorodas naudodami LSP"

Rezultatas:

  • Funkcijos apibrėžimo vieta

  • Vieta, kur ji iškviečiama po sėkmingo fetch

  • Visos kitos nuorodos

Tikslus, greitas, nepraleidžiant nieko.

2 atvejis: funkcijos parametrų supratimas

Norite, kad Claude sugeneruotų kodo fragmentą, kuris iškviestų displayError funkciją.

Bet nesate tikri, kokius parametrus ši funkcija priima.

Paklauskite jo: "Kokius parametrus priima displayError? Naudok LSP"

Kalbos serveris tiesiogiai grąžina: priima message parametrą.

Claude žino, todėl sugeneruotas kodas nebus klaidingas.

3 atvejis: API iškvietimų paieška

Norite rasti, kur projekte yra iškviečiamas /api/recommendations API.

Paklauskite Claude: "Raskite visas /api/recommendations nuorodas naudodami LSP"

Jis randa fetch iškvietimo vietą, tiksliai iki eilutės.

Labai naudinga derinant API problemas, sekant duomenų srautus.

4 atvejis: klaidų aptikimas iš anksto

Perkuriate kodą ir netyčia padarote klaidą kintamojo pavadinime.

Įprastai turėtumėte paleisti kodą, kad ją aptiktumėte.

Bet su LSP, kalbos serveris tikrina realiu laiku ir iš karto praneša Claude Code apie problemą.

Claude jums pasako dar prieš paleidžiant kodą: čia yra klaida.

Kaip nustatyti? 5 žingsniai

Nesijaudinkite, nustatyti paprasta.

1 žingsnis: įjunkite LSP įrankius

Į savo shell konfigūracijos failą (.bashrc arba .zshrc) įtraukite eilutę:

exportENABLE_LSP_TOOLS=1 tada paleiskite source ~/.zshrc, kad įsigaliotų.

2 žingsnis: įdiekite kalbos serverio papildinį

Atidarykite Claude Code, įveskite:

/plugin raskite papildinį, atitinkantį jūsų naudojamą kalbą:

  • Python: pasirinkite pyright-lsp

  • TypeScript/JavaScript: pasirinkite vtsls arba typescript-lsp

  • Go: pasirinkite gopls

  • Rust: pasirinkite rust-analyzer

Pasirinkite "Install for me only", kad įdiegtumėte.

3 žingsnis: įdiekite kalbos serverio dvejetainius failus

Papildinys yra tik sąsaja, tikrąjį darbą atlieka pats kalbos serveris.

Python:

pip install pyrightTypeScript/JavaScript:

npm install -g @vtsls/language-server typescriptGo:

go install golang.org/x/tools/gopls@latestRust:

rustup component add rust-analyzer

4 žingsnis: iš naujo paleiskite Claude Codeclaude

5 žingsnis: patikrinkite, ar veikia

Įveskite /plugin ir patikrinkite skirtuką „Installed“ (Įdiegta). Jei matote savo papildinį, viskas gerai.

Išbandykite:

Naudokite LSP, kad rastumėte visas someFunction nuorodas. Jei Claude Code naudoja find_references įrankį, o ne grep, vadinasi, viskas pavyko.

Kada naudoti LSP? Kada nenaudoti?

LSP nėra panacėja.

Scenarijai, kuriuose tinka naudoti LSP:

  • Dideli projektai (šimtai failų)

  • Funkcijų iškvietimų sekimas tarp failų

  • Reikia tikslių funkcijų signatūrų (ypač dinaminėse kalbose)

  • Kodo refaktorizavimas, baiminantis klaidų

Scenarijai, kuriuose netinka naudoti LSP:

  • Maži projektai, greiti scenarijai

  • Paprasta teksto paieška

  • Tiesiog ieškote eilutės

Trumpai tariant, naudokite grep, kai jis greitas, ir LSP, kai jis tikslus.

Įrankiai skirti tarnauti žmonėms, o ne būti naudojami dėl naudojimo.

Kelios klaidos, įspėju iš anksto

Klaida 1: kalbos serveris turi būti PATH aplinkoje

Jei Claude Code sako „No LSP server available“ (Nėra LSP serverio), greičiausiai jūsų kalbos serveris įdiegtas neteisingai arba nėra PATH aplinkoje.

Paleiskite which pyright (arba savo kalbos serverį) terminale ir pažiūrėkite, ar jį galima rasti.

Klaida 2: įdiegus papildinį, reikia paleisti iš naujo

Įdiegus naują papildinį arba atnaujinus kalbos serverį, būtinai paleiskite iš naujo Claude Code.

Kalbos serveriai įkeliami paleidžiant.

Klaida 3: kartais reikia aiškiai pasakyti „naudoti LSP“

Jei pastebite, kad Claude Code vis dar naudoja grep, o ne LSP, pridėkite sakinį „naudoti LSP“:

Naudokite LSP, kad rastumėte visas authenticateUser nuorodas. Taip jis žinos, kad reikia naudoti kalbos serverį.

Klaida 4: nėra vizualinių užuominų

Skirtingai nei VS Code, Claude Code neparodys, ar LSP serveris veikia.

Nėra būsenos juostos piktogramos, nėra pranešimų.

Vienintelis būdas patvirtinti: atlikti praktinį testą.

Pabaigai keletas žodžių

Claude Code palaikymas LSP nėra mažas atnaujinimas, tai kokybinis šuolis.

Anksčiau tai buvo „teksto paieška + AI išvados“.

Dabar tai yra „kalbos serveris + AI supratimas“.

Tai tarsi perėjimas nuo telefono knygos vartymo prie paieškos sistemos naudojimo.

Efektyvumo skirtumas yra didžiulis.

Jei naudojate Claude Code rimtam projektui, skirkite 5 minutes LSP nustatymui.

Šios 5 minutės vertos.

Veiksmų sąrašas:

  • Pridėkite export ENABLE_LSP_TOOLS=1 prie savo shell konfigūracijos

  • Atidarykite Claude Code ir paleiskite /plugin, kad įdiegtumėte savo kalbos papildinį

  • Įdiekite atitinkamą kalbos serverio dvejetainį failą

  • Paleiskite iš naujo Claude Code

  • Išbandykite „Naudokite LSP, kad rastumėte visas XXX nuorodas“

Įdiegę pastebėsite: Pasirodo, Claude Code gali būti toks greitas.

Published in Technology

You Might Also Like