Claude Code u përmirësua fshehurazi, më në fund nuk është më një "makinë kërkimi teksti"
Kur shkruani kod, a keni menduar ndonjëherë për një pyetje:
Pse kur shtypni Ctrl + Klik në VS Code, mund të hidheni direkt në definicionin e funksionit? Pse kur e mbani mausin pezull mbi një funksion, mund të shihni shpjegimin e plotë të parametrave? Pse para se kodi juaj të ekzekutohet, redaktori mund t'ju tregojë se ku ka gabime?
Ju i përdorni këto funksione çdo ditë, duke u kënaqur shumë.
Por ndoshta nuk e dini se pas kësaj qëndron një gjë e quajtur LSP (Language Server Protocol).
Më e rëndësishmja, Claude Code versioni 2.0.74 e tutje, gjithashtu mbështet LSP.
Çfarë do të thotë kjo?
Do të thotë që Claude Code më në fund është shndërruar nga një "makinë kërkimi teksti" në një AI që e kupton vërtet kodin.
Çfarë është LSP? E thënë thjesht
LSP është një protokoll i krijuar nga Microsoft, qëllimi i të cilit është shumë i thjeshtë:
Të lejojë që funksionet inteligjente të kodit të përdoren në çdo redaktor.
Shikoni:
-
Serveri gjuhësor i TypeScript, mund të përdoret në VS Code, mund të përdoret në JetBrains, mund të përdoret në Cursor
-
Tani, mund të përdoret edhe në Claude Code
LSP është ajo gjë që e bën redaktorin tuaj më të zgjuar:
-
Plotësim automatik i emrave dhe parametrave të funksioneve
-
Kërcim në definicion
-
Gjetja e të gjitha referencave
-
Shfaqja e dokumentacionit kur mbahet mausi pezull
-
Raportimi i gabimeve dhe paralajmërimeve në kohë reale
Ju i përdorni këto funksione pafund herë çdo ditë kur shkruani kod.
Por kurrë nuk keni menduar se si realizohen ato.
Tani nuk keni nevojë të mendoni, thjesht duhet të dini: Claude Code tani i ka edhe këto aftësi.
Si funksiononte Claude Code më parë?
Përpara se të mbështeste LSP, çfarë duhej të bënte Claude Code për të gjetur se ku është definuar një funksion?
Të mbështetej në kërkimin grep.
Thënë thjesht, ishte një kërkim i plotë teksti, duke kërkuar se ku shfaqen karakteret "displayBooks".
A është e dobishme kjo? Po, është e dobishme.
Modeli AI ka trajnuar një sasi të madhe kodi dhe me të vërtetë mund të nxjerrë shumë gjëra nga teksti.
Por ku është problemi?
Nuk e kupton vërtet strukturën e kodit.
Është si të kërkosh dikë të gjejë "Zhang San", ai mund të shfletojë vetëm faqet e adresarit për të gjetur fjalët "Zhang San".
Dhe kur përdorni telefonin tuaj për të kërkuar "Zhang San", ai thërret drejtpërdrejt bazën e të dhënave dhe jep rezultate në sekonda.
Ky është ndryshimi.
Claude Code i mëparshëm: lexonte çdo skedar një nga një, duke u mbështetur në përputhjen e tekstit Claude Code aktual: pyet drejtpërdrejt serverin gjuhësor, duke lokalizuar me saktësi
Efikasiteti është shumë më i ndryshëm.
Çfarë i solli LSP Claude Code?
5 aftësi thelbësore, secila prej të cilave është një mjet efikasiteti:
1. goToDefinition - Kërcim në definicion
Çfarë mund të bëni me Ctrl+Click në VS Code? Kërceni direkt në vendin ku është definuar funksioni.
Tani Claude Code mund ta bëjë edhe këtë.
Ju e pyesni: "Ku është definuar funksioni processRequest? Përdor LSP"
Ajo nuk do të kërkojë në mënyrë naive në të gjithë skedarët.
Ajo pyet drejtpërdrejt serverin gjuhësor dhe jep përgjigjen në sekonda: emrin e skedarit, numrin e rreshtit, vendndodhjen e saktë.
2. findReferences - Gjetja e të gjitha referencave
Ky është një funksion vrasës.
Ju doni të rifaktorizoni një funksion, por keni frikë të ndryshoni, sepse keni frikë se do të prishet diku tjetër.
Çfarë të bëni?
Më parë ju duhej të lejonit Claude Code të lexonte çdo skedar një nga një, shumë ngadalë.
Tani pyesni drejtpërdrejt: "Ku janë thirrur funksioni displayError? Përdor LSP"
Serveri gjuhësor ju jep drejtpërdrejt të gjitha vendndodhjet e referencave.
Shpejt, saktë dhe me vend.
3. hover - Marrja e dokumentacionit dhe informacionit të tipit
Kur e mbani mausin pezull në VS Code, mund të shihni nënshkrimin e funksionit, llojet e parametrave, shpjegimet e dokumentacionit.
Claude Code tani mund t'i shohë gjithashtu.
E pyesni: "Çfarë parametrave pranon funksioni displayBooks? Përdor LSP"
Ajo nuk ka nevojë të hamendësojë, por lexon drejtpërdrejt nënshkrimin e kthyer nga serveri gjuhësor.
Sidomos për gjuhët dinamike si Python, më parë Claude mund të nxirrte llojin vetëm nga konteksti.Tani me LSP, informacioni i tipit është i qartë menjëherë.
4. documentSymbol - Listoni të gjitha simbolet e një fajli
Dëshironi të kuptoni shpejt se çfarë klasash, funksionesh dhe variablash ka një fajl?
Pyesni Claude: "Çfarë simbolesh ka në backend/index.js? Përdorni LSP"
Ajo ju kthen një listë të strukturuar, qartë dhe saktë.
5. workspaceSymbol - Kërkimi i simboleve në të gjithë projektin
Kjo është edhe më e fortë.
Nuk kërkon tekst, por simbole.
Dëshironi të gjeni të gjitha metodat që përmbajnë "innerHTML"?
Serveri i gjuhës i gjen ato direkt për ju, nuk është përputhje e vargjeve, por simbol i vërtetë i kodit.
Praktike: Çfarë problemesh mund të zgjidhë LSP në të vërtetë?
Mos flisni për gjëra abstrakte, shikoni raste reale.
Rasti 1: Gjurmimi i thirrjeve të funksioneve
Ka një projekt të quajtur AseBook Finder, front-end ka një funksion displayBooks.
Dëshironi të dini se ku thirret ky funksion.
Çfarë bënit më parë? Claude Code grep një herë, mund të humbasë, mund të raportojë gabimisht.
Tani pyesni direkt: "Gjeni të gjitha referencat e displayBooks me LSP"
Rezultati:
-
Vendndodhja e definicionit të funksionit
-
Vendndodhja ku thirret pas fetch të suksesshëm
-
Të gjitha vendet e tjera të referencuara
I saktë, i shpejtë, pa lënë asgjë jashtë.
Rasti 2: Kuptimi i parametrave të funksionit
Dëshironi që Claude të gjenerojë një pjesë kodi që thërret funksionin displayError.
Por nuk jeni i sigurt se çfarë parametrash pranon ky funksion.
Pyesni atë: "Çfarë parametrash pranon displayError? Përdorni LSP"
Serveri i gjuhës kthen direkt: pranon një parametër message.
Claude e di, kodi i gjeneruar nuk do të ketë gabime.
Rasti 3: Gjetja e thirrjeve API
Dëshironi të gjeni se ku në projekt thirret ndërfaqja /api/recommendations.
Pyesni Claude: "Gjeni të gjitha referencat e /api/recommendations me LSP"
Ajo gjen vendndodhjen e thirrjes fetch, saktësisht në rresht.
Shumë e dobishme për debugimin e problemeve të API-së dhe gjurmimin e rrjedhës së të dhënave.
Rasti 4: Zbulimi i gabimeve paraprakisht
Jeni duke rifaktorizuar kodin dhe keni shkruar gabimisht një emër variabli.
Normalisht, duhet të ekzekutoni kodin për ta zbuluar.
Por me LSP, serveri i gjuhës kontrollon në kohë reale dhe raporton menjëherë problemin te Claude Code.
Claude ju thotë se ka një gabim këtu përpara se të ekzekutoni kodin.
Si të konfigurohet? 5 hapa për ta bërë
Mos u shqetësoni, konfigurimi është i thjeshtë.
Hapi 1: Aktivizoni mjetet LSP
Shtoni një rresht në skedarin tuaj të konfigurimit të shell-it (.bashrc ose .zshrc):
export ENABLE_LSP_TOOLS=1 pastaj ekzekutoni source ~/.zshrc për ta aktivizuar.
Hapi 2: Instaloni shtojcat e serverit të gjuhës
Hapni Claude Code, shkruani:
/plugin gjeni shtojcën për gjuhën që përdorni:
-
Python: zgjidhni pyright-lsp
-
TypeScript/JavaScript: zgjidhni vtsls ose typescript-lsp
-
Go: zgjidhni gopls
-
Rust: zgjidhni rust-analyzer
Zgjidhni "Install for me only", instaloni.
Hapi 3: Instaloni skedarët binarë të serverit të gjuhës
Shtojca është vetëm një ndërfaqe, serveri i gjuhës është ai që bën punën e vërtetë.
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
Hapi 4: Rinisni Claude Codeclaude
Hapi 5: Verifikoni nëse funksionon
Shkruani /plugin, kontrolloni te faqja "Installed" dhe sigurohuni që shihni shtojcën tuaj.
Testojeni:
Gjeni të gjitha referencat e someFunction duke përdorur LSP Nëse Claude Code përdor mjetin find_references në vend të grep, atëherë ka funksionuar.
Kur të përdorni LSP? Kur të mos e përdorni?
LSP nuk është zgjidhje për gjithçka.
Skenarët e përshtatshëm për LSP:
-
Projekte të mëdha (qindra skedarë)
-
Gjurmimi i thirrjeve të funksioneve ndër skedarë
-
Nevoja për nënshkrime të sakta të funksioneve (sidomos gjuhët dinamike)
-
Ristrukturimi i kodit, frika e krijimit të defekteve
Skenarët e papërshtatshëm për LSP:
-
Projekte të vogla, skripte të shpejta
-
Kërkime të thjeshta tekstuale
-
Thjesht gjetja e një vargu diku
Me pak fjalë, përdorni grep kur është i shpejtë dhe LSP kur është i saktë.
Mjetet janë për t'i shërbyer njeriut, jo për t'u përdorur thjesht për hir të përdorimit.
Disa kurthe, për t'ju paralajmëruar paraprakisht
Kurthi 1: Serveri i gjuhës duhet të jetë në PATH
Nëse Claude Code thotë "No LSP server available", me siguri serveri juaj i gjuhës nuk është instaluar siç duhet, ose nuk është në PATH.
Ekzekutoni which pyright (ose serverin tuaj të gjuhës) në terminal, për të parë nëse mund ta gjeni.
Kurthi 2: Pas instalimit të shtojcës, duhet të ristartoni
Pas instalimit të një shtojce të re ose përditësimit të serverit të gjuhës, sigurohuni që të ristartoni Claude Code.
Serveri i gjuhës ngarkohet gjatë nisjes.
Kurthi 3: Ndonjëherë duhet të thoni qartë "përdor LSP"
Nëse zbuloni se Claude Code ende po përdor grep në vend të LSP, shtoni një frazë "përdor LSP":
Gjeni të gjitha referencat e authenticateUser duke përdorur LSP Kështu ai do të dijë se duhet të përdorë serverin e gjuhës.
Kurthi 4: Nuk ka sugjerime vizuale
Ndryshe nga VS Code, Claude Code nuk do t'ju tregojë nëse serveri LSP po funksionon.
Nuk ka ikonë në shiritin e statusit, nuk ka njoftime.
Mënyra e vetme për të konfirmuar: testimi aktual.
Për të thënë dy fjalë në fund
Mbështetja e LSP nga Claude Code nuk është një përditësim i vogël, por një ndryshim cilësor.
Më parë ishte "kërkim tekstual + deduktim AI".
Tani është "server gjuhe + kuptim AI".
Është si të kalosh nga përdorimi i një libri adresash në përdorimin e një motori kërkimi.
Dallimi në efikasitet është i madh.
Nëse po përdorni Claude Code për një projekt serioz, shpenzoni 5 minuta për të konfiguruar LSP.
Këto 5 minuta vlejnë.
Lista e veprimeve:
-
Shtoni
export ENABLE_LSP_TOOLS=1në konfigurimin e shell-it -
Hapni Claude Code, ekzekutoni
/pluginpër të instaluar shtojcën tuaj të gjuhës -
Instaloni skedarin binar të serverit të gjuhës përkatëse
-
Ristartoni Claude Code
-
Testoni "Gjeni të gjitha referencat e XXX duke përdorur LSP"
Pas instalimit, do të zbuloni: Në fakt, Claude Code mund të jetë kaq i shpejtë.





