Claude Code Gizlice Yükseltildi, Sonunda Artık Bir "Metin Arama Makinesi" Değil
Kod yazarken hiç şu soruyu düşündünüz mü:
Neden VS Code'da Ctrl + tıklama yaptığınızda doğrudan fonksiyon tanımına atlayabiliyorsunuz? Neden fareyi bir fonksiyonun üzerine getirdiğinizde tüm parametre açıklamalarını görebiliyorsunuz? Neden kodunuz henüz çalışmadan editör size nerede hata olduğunu söyleyebiliyor?
Bu özellikleri her gün kullanıyorsunuz ve keyfini çıkarıyorsunuz.
Ancak belki de bilmiyorsunuz, tüm bunların arkasında LSP (Language Server Protocol) adlı bir şey var.
Daha da önemlisi, Claude Code 2.0.74 sürümünden itibaren LSP'yi destekliyor.
Bu ne anlama geliyor?
Bu, Claude Code'un sonunda "metin arama makinesi" olmaktan çıkıp, kodu gerçekten anlayan bir yapay zekaya dönüştüğü anlamına geliyor.
LSP Nedir? Basitçe Anlatmak Gerekirse
LSP, Microsoft tarafından geliştirilen bir protokoldür ve amacı çok basittir:
Kod akıllı özelliklerinin herhangi bir editörde kullanılabilmesini sağlamak.
Bakın:
-
TypeScript'in dil sunucusu, VS Code'da kullanılabiliyor, JetBrains'te kullanılabiliyor, Cursor'da kullanılabiliyor
-
Şimdi, Claude Code'da da kullanılabiliyor
LSP, editörünüzü akıllı hale getiren şeydir:
-
Fonksiyon adlarını ve parametrelerini otomatik tamamlama
-
Tanıma atlama
-
Tüm referansları bulma
-
Üzerine gelindiğinde belgeleri gösterme
-
Gerçek zamanlı hata ve uyarılar
Her gün kod yazarken bu özellikleri sayısız kez kullandınız.
Ancak bunun nasıl uygulandığını hiç düşünmediniz.
Artık düşünmenize gerek yok, sadece şunu bilin: Claude Code artık bu yeteneklere sahip.
Claude Code Daha Önce Nasıl Çalışıyordu?
LSP'yi desteklemeden önce, Claude Code bir fonksiyonun nerede tanımlandığını bulmak isteseydi, ne yapması gerekirdi?
grep aramasına güveniyordu.
Basitçe söylemek gerekirse, bu tam metin aramasıdır, "displayBooks" karakterlerinin nerede göründüğünü bulmaktır.
Bu işe yarıyor mu? Yarıyor.
Yapay zeka modeli, çok sayıda kod üzerinde eğitildi ve metinden birçok şey çıkarabiliyor.
Ancak sorun nerede?
Kod yapısını gerçekten anlamıyor.
Sanki birinden "Ali"yi bulmasını istiyorsunuz ve o sadece adres defterini sayfa sayfa çevirerek "Ali" kelimesini arıyor.
Oysa siz telefonunuzda "Ali"yi aradığınızda, doğrudan veritabanını sorguluyor ve sonuç saniyeler içinde geliyor.
İşte fark bu.
Önceki Claude Code: Dosyaları tek tek okuyarak, metin eşleştirmesiyle Şimdiki Claude Code: Doğrudan dil sunucusuna sorarak, kesin konum belirleme
Verimlilik farkı çok büyük.
LSP, Claude Code'a Ne Getirdi?
5 temel yetenek, her biri bir verimlilik aracı:
1. goToDefinition - Tanıma Atlama
VS Code'da Ctrl+Click yaptığınızda ne yapabilirsiniz? Doğrudan fonksiyonun tanımlandığı yere atlayabilirsiniz.
Artık Claude Code da bunu yapabiliyor.
Ona şunu soruyorsunuz: "processRequest fonksiyonu nerede tanımlandı? LSP ile"
Bütün dosyaları aptalca bir şekilde aramayacak.
Doğrudan dil sunucusuna soracak ve saniyeler içinde cevabı verecek: dosya adı, satır numarası, kesin konum.
2. findReferences - Tüm Referansları Bulma
Bu, öldürücü bir özellik.
Bir fonksiyonu yeniden yapılandırmak istiyorsunuz, ancak değiştirmeye cesaret edemiyorsunuz, çünkü başka yerlerde sorun çıkmasından korkuyorsunuz.
Ne yapmalı?
Önceden Claude Code'un dosyaları tek tek okumasını sağlamanız gerekiyordu, bu da çok yavaştı.
Şimdi doğrudan şunu soruyorsunuz: "displayError fonksiyonu nerelerde çağrılıyor? LSP ile"
Dil sunucusu size doğrudan tüm referans konumlarını listeleyecek.
Hızlı, doğru ve etkili.
3. hover - Belge ve Tür Bilgilerini Alma
VS Code'da fareyi üzerine getirdiğinizde, fonksiyon imzasını, parametre türlerini, belge açıklamalarını görebilirsiniz.
Claude Code artık bunu da görebiliyor.
Ona şunu sorun: "displayBooks fonksiyonu hangi parametreleri kabul ediyor? LSP ile"
Tahmin etmesine gerek yok, doğrudan dil sunucusunun döndürdüğü imzayı okuyacak.
Özellikle Python gibi dinamik dillerde, Claude daha önce yalnızca bağlama göre türleri tahmin edebiliyordu.Şimdi LSP ile tip bilgisi açıkça görülebilir.
4. documentSymbol - Bir dosyadaki tüm sembolleri listeleme
Bir dosyada hangi sınıfların, fonksiyonların, değişkenlerin olduğunu hızlıca öğrenmek mi istiyorsunuz?
Claude'a sorun: "backend/index.js içinde hangi semboller var? LSP ile"
Size yapılandırılmış bir liste döndürür, her şey açıkça görülür.
5. workspaceSymbol - Tüm proje sembol arama
Bu daha da acımasız.
Metin aramak yerine, sembol arar.
"innerHTML" içeren tüm metotları mı arıyorsunuz?
Dil sunucusu doğrudan bulur, dize eşleştirme değil, gerçek kod sembolleridir.
Pratik Uygulama: LSP Gerçekte Hangi Sorunları Çözebilir?
Boş lafları bırakın, gerçek örneklere bakın.
Örnek 1: Fonksiyon Çağrılarını İzleme
AseBook Finder adında bir proje var, ön yüzde displayBooks fonksiyonu var.
Bu fonksiyonun nerelerde çağrıldığını bilmek istiyorsunuz.
Önceden ne yapardınız? Claude Code ile grep yapardınız, kaçırabilir, yanlış alarm verebilirdiniz.
Şimdi doğrudan sorun: "LSP ile displayBooks'un tüm referanslarını bul"
Sonuç:
-
Fonksiyonun tanımlandığı yer
-
fetch başarılı olduktan sonra çağrıldığı yer
-
Diğer tüm referanslar
Kesin, hızlı, eksiksiz.
Örnek 2: Fonksiyon Parametrelerini Anlama
Claude'un displayError fonksiyonunu çağıran bir kod parçası oluşturmasını istiyorsunuz.
Ancak bu fonksiyonun hangi parametreleri kabul ettiğinden emin değilsiniz.
Ona sorun: "displayError hangi parametreleri kabul ediyor? LSP ile"
Dil sunucusu doğrudan döndürür: bir message parametresi kabul ediyor.
Claude bunu bilir ve oluşturulan kod hatalı olmaz.
Örnek 3: API Çağrılarını Bulma
Projede /api/recommendations arayüzünü nerede çağırdığınızı bulmak istiyorsunuz.
Claude'a sorun: "LSP ile /api/recommendations'ın tüm referanslarını bul"
Fetch çağrısının yapıldığı yeri bulur, satırına kadar kesin.
API sorunlarını ayıklamak, veri akışını izlemek için süper kullanışlı.
Örnek 4: Hataları Önceden Keşfetme
Kodu yeniden yapılandırıyorsunuz ve yanlışlıkla bir değişken adını yanlış yazdınız.
Normalde, bunu bulmak için kodu çalıştırmanız gerekir.
Ancak LSP ile, dil sunucusu gerçek zamanlı olarak kontrol eder ve bir sorun bulduğunda hemen Claude Code'a bildirir.
Claude, kodu çalıştırmadan önce size burada bir hata olduğunu söyler.
Nasıl Kurulur? 5 Adımda Tamam
Paniklemeyin, kurulumu çok basit.
Adım 1: LSP Araçlarını Etkinleştirme
Shell yapılandırma dosyanızda (.bashrc veya .zshrc) bir satır ekleyin:
exportENABLE_LSP_TOOLS=1 ardından source ~/.zshrc komutunu çalıştırarak etkinleştirin.
Adım 2: Dil Sunucusu Eklentisini Yükleme
Claude Code'u açın ve şunu girin:
/plugin kullandığınız dile karşılık gelen eklentiyi bulun:
-
Python: pyright-lsp'yi seçin
-
TypeScript/JavaScript: vtsls veya typescript-lsp'yi seçin
-
Go: gopls'yi seçin
-
Rust: rust-analyzer'ı seçin
"Install for me only" seçeneğini seçerek yükleyin.
Adım 3: Dil Sunucusu İkili Dosyasını Yükleme
Eklenti sadece bir arayüzdür, asıl işi yapan dil sunucusunun kendisidir.
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
Adım 4: Claude Code'u Yeniden Başlatmaclaude
Adım 5: Çalışıp Çalışmadığını Doğrulayın
/plugin yazın ve "Installed" sekmesini kontrol edin, eklentinizi gördüğünüzde doğru yoldasınız demektir.
Bir test yapın:
LSP kullanarak someFunction'ın tüm referanslarını bul Eğer Claude Code grep yerine find_references aracını kullanıyorsa, başarılı olmuşsunuz demektir.
Ne Zaman LSP Kullanılır? Ne Zaman Kullanılmaz?
LSP her derde deva değildir.
LSP'nin Kullanıma Uygun Olduğu Senaryolar:
-
Büyük projeler (yüzlerce dosya)
-
Dosyalar arası fonksiyon çağrılarını izleme
-
Kesin fonksiyon imzalarına ihtiyaç duyma (özellikle dinamik diller)
-
Kod yeniden yapılandırma, hata yapmaktan korkma
LSP'nin Kullanıma Uygun Olmadığı Senaryolar:
-
Küçük projeler, hızlı scriptler
-
Basit metin araması
-
Sadece bir stringin nerede olduğunu bulma
Özetle, grep hızlı olduğunda grep'i, LSP doğru olduğunda LSP'yi kullanın.
Araçlar insanlara hizmet eder, kullanmak için kullanılmaz.
Birkaç Tuzak, Önceden Söyleyeyim
Tuzak 1: Dil Sunucusu PATH'te Olmalı
Eğer Claude Code "No LSP server available" diyorsa, büyük ihtimalle dil sunucunuzu doğru kurmadınız veya PATH'te değil.
Terminalde which pyright (veya dil sunucunuz) çalıştırarak bulup bulamayacağınızı kontrol edin.
Tuzak 2: Eklentiyi Kurduktan Sonra Yeniden Başlatmak Gerekir
Yeni bir eklenti kurduktan veya dil sunucusunu güncelledikten sonra, Claude Code'u mutlaka yeniden başlatın.
Dil sunucusu başlatılırken yüklenir.
Tuzak 3: Bazen Açıkça "LSP Kullan" Demek Gerekir
Eğer Claude Code'un hala grep kullandığını fark ederseniz, "LSP Kullan" ifadesini ekleyin:
LSP kullanarak authenticateUser'ın tüm referanslarını bul Böylece dil sunucusunu kullanması gerektiğini bilecektir.
Tuzak 4: Görsel İpuçları Yok
VS Code'un aksine, Claude Code LSP sunucusunun çalışıp çalışmadığını size söylemez.
Durum çubuğu simgesi yok, bildirim yok.
Tek doğrulama yöntemi: Gerçek test.
Son Olarak İki Kelam
Claude Code'un LSP desteği, küçük bir güncelleme değil, niteliksel bir değişimdir.
Önceden "metin araması + AI çıkarımı" idi.
Şimdi "dil sunucusu + AI anlayışı".
Aynen telefon rehberini karıştırmaktan arama motoru kullanmaya geçmek gibi.
Verimlilik farkı, dağlar kadar.
Eğer Claude Code'u ciddi bir proje için kullanıyorsanız, 5 dakikanızı ayırıp LSP'yi ayarlayın.
Bu 5 dakika, değer.
Eylem Listesi:
-
Shell yapılandırmanıza
export ENABLE_LSP_TOOLS=1ekleyin -
Claude Code'u açın,
/pluginçalıştırarak dil eklentinizi kurun -
İlgili dil sunucusu ikili dosyasını kurun
-
Claude Code'u yeniden başlatın
-
"LSP kullanarak XXX'in tüm referanslarını bul" şeklinde bir test yapın
Kurulumdan sonra şunu fark edeceksiniz:Görünüşe göre Claude Code bu kadar hızlı da olabiliyormuş.





