Claude Code चुपके से अपग्रेड हो गया है, आखिरकार अब "टेक्स्ट सर्च मशीन" नहीं रहा
क्या आपने कोड लिखते समय कभी यह सोचा है:
VS Code में Ctrl + क्लिक करने पर आप सीधे फ़ंक्शन परिभाषा पर क्यों जा पाते हैं? फ़ंक्शन पर माउस ले जाने पर आपको पूरी पैरामीटर जानकारी क्यों दिखती है? आपका कोड चलने से पहले ही, संपादक आपको बता देता है कि कहाँ गलती है?
आप इन सुविधाओं का हर दिन उपयोग करते हैं, और बहुत खुश होते हैं।
लेकिन आपको शायद पता नहीं होगा कि इन सबके पीछे LSP (Language Server Protocol) नामक चीज़ का समर्थन है।
और महत्वपूर्ण बात यह है कि Claude Code 2.0.74 संस्करण से LSP का समर्थन भी करता है।
इसका क्या मतलब है?
इसका मतलब है कि Claude Code आखिरकार "टेक्स्ट सर्च मशीन" से एक ऐसा AI बन गया है जो वास्तव में कोड को समझता है।
LSP क्या है? सरल शब्दों में
LSP माइक्रोसॉफ्ट द्वारा बनाया गया एक प्रोटोकॉल है, जिसका उद्देश्य बहुत सरल है:
कोड इंटेलिजेंस सुविधाओं को किसी भी संपादक में उपयोग करने की अनुमति देना।
देखो:
-
TypeScript का लैंग्वेज सर्वर, VS Code में इस्तेमाल किया जा सकता है, JetBrains में इस्तेमाल किया जा सकता है, Cursor में इस्तेमाल किया जा सकता है
-
अब, Claude Code में भी इस्तेमाल किया जा सकता है
LSP वह चीज़ है जो आपके संपादक को स्मार्ट बनाती है:
-
फ़ंक्शन नाम और पैरामीटर को ऑटो-कंप्लीट करना
-
परिभाषा पर जाना
-
सभी संदर्भों को खोजना
-
होवर पर दस्तावेज़ दिखाना
-
वास्तविक समय में त्रुटियाँ और चेतावनियाँ
आप हर दिन कोड लिखते हैं, और इन सुविधाओं का अनगिनत बार उपयोग करते हैं।
लेकिन आपने कभी नहीं सोचा कि यह कैसे काम करता है।
अब सोचने की ज़रूरत नहीं है, बस इतना जान लें: Claude Code में अब ये क्षमताएँ हैं।
Claude Code पहले कैसे काम करता था?
LSP का समर्थन करने से पहले, Claude Code को यह पता लगाना होता था कि कोई फ़ंक्शन कहाँ परिभाषित है, तो वह क्या करता था?
grep खोज पर निर्भर करता था।
सीधे शब्दों में कहें तो, यह पूर्ण-पाठ खोज थी, यह पता लगाना कि "displayBooks" अक्षर कहाँ दिखाई देते हैं।
क्या यह काम कर सकता है? हाँ, यह काम कर सकता है।
AI मॉडल ने भारी मात्रा में कोड को प्रशिक्षित किया है, और यह वास्तव में पाठ से बहुत सी चीज़ें निकाल सकता है।
लेकिन समस्या क्या है?
यह वास्तव में कोड संरचना को नहीं समझता है।
यह ऐसा है जैसे आप किसी व्यक्ति को "अमित" खोजने के लिए कहते हैं, तो वह केवल "अमित" शब्द को खोजने के लिए टेलीफोन निर्देशिका के पन्ने पलट सकता है।
जबकि आप अपने फ़ोन पर "अमित" खोजते हैं, तो यह सीधे डेटाबेस से जानकारी प्राप्त करता है, और परिणाम तुरंत मिल जाता है।
यही अंतर है।
पहले का Claude Code: एक-एक करके फ़ाइलें पढ़ता था, पाठ मिलान पर निर्भर करता था। अब का Claude Code: सीधे लैंग्वेज सर्वर से पूछता है, सटीक रूप से पता लगाता है।
दक्षता में थोड़ा भी अंतर नहीं है।
LSP ने Claude Code को क्या दिया है?
5 मुख्य क्षमताएँ, जिनमें से प्रत्येक दक्षता बढ़ाने वाला उपकरण है:
1. goToDefinition - परिभाषा पर जाएँ
VS Code में Ctrl+Click करने पर आप क्या कर सकते हैं? सीधे फ़ंक्शन परिभाषा के स्थान पर जाएँ।
अब Claude Code भी ऐसा कर सकता है।
आप उससे पूछते हैं: "processRequest फ़ंक्शन कहाँ परिभाषित है? LSP का उपयोग करके"
यह मूर्खतापूर्ण तरीके से सभी फ़ाइलों को नहीं खोजेगा।
यह सीधे लैंग्वेज सर्वर से पूछेगा, और तुरंत उत्तर देगा: फ़ाइल का नाम, पंक्ति संख्या, सटीक स्थान।
2. findReferences - सभी संदर्भ खोजें
यह एक किलर सुविधा है।
आप एक फ़ंक्शन को फिर से बनाना चाहते हैं, लेकिन बदलने से डरते हैं, क्योंकि आपको डर है कि कहीं और कुछ टूट जाएगा।
क्या करें?
पहले आपको Claude Code से एक-एक करके फ़ाइलें पढ़वानी पड़ती थीं, जो बहुत धीमी होती थी।
अब सीधे पूछें: "displayError फ़ंक्शन को किन स्थानों पर कॉल किया गया है? LSP का उपयोग करके"
लैंग्वेज सर्वर सीधे आपको सभी संदर्भ स्थानों की सूची देगा।
तेज़, सटीक और क्रूर।
3. hover - दस्तावेज़ और प्रकार की जानकारी प्राप्त करें
VS Code में माउस ले जाने पर, आप फ़ंक्शन हस्ताक्षर, पैरामीटर प्रकार और दस्तावेज़ विवरण देख सकते हैं।
Claude Code अब भी देख सकता है।
उससे पूछें: "displayBooks फ़ंक्शन कौन से पैरामीटर स्वीकार करता है? LSP का उपयोग करके"
इसे अनुमान लगाने की ज़रूरत नहीं है, यह सीधे लैंग्वेज सर्वर द्वारा लौटाए गए हस्ताक्षर को पढ़ता है।
विशेष रूप से Python जैसी गतिशील भाषाओं के लिए, पहले Claude केवल संदर्भ के आधार पर प्रकार का अनुमान लगा सकता था।अब LSP के साथ, प्रकार की जानकारी स्पष्ट है।
4. documentSymbol - फ़ाइल के सभी प्रतीकों को सूचीबद्ध करें
क्या आप जल्दी से जानना चाहते हैं कि किसी फ़ाइल में कौन सी कक्षाएं, फ़ंक्शन और चर हैं?
क्लाउड से पूछें: "backend/index.js में कौन से प्रतीक हैं? LSP का उपयोग करें"
यह आपको एक संरचित सूची लौटाता है, जो स्पष्ट रूप से दिखाई देती है।
5. workspaceSymbol - पूर्ण परियोजना प्रतीक खोज
यह और भी क्रूर है।
यह पाठ की खोज नहीं कर रहा है, यह प्रतीकों की खोज कर रहा है।
क्या आप "innerHTML" वाले सभी तरीकों को खोजना चाहते हैं?
भाषा सर्वर सीधे आपके लिए उन्हें ढूंढता है, यह स्ट्रिंग मिलान नहीं है, यह वास्तविक कोड प्रतीक है।
वास्तविक दुनिया: LSP वास्तव में क्या समस्याएँ हल कर सकता है?
उन सभी काल्पनिक चीजों को छोड़ दें, वास्तविक दुनिया के मामलों को देखें।
केस 1: फ़ंक्शन कॉल को ट्रैक करना
AseBook Finder नामक एक परियोजना है, फ्रंटएंड में एक displayBooks फ़ंक्शन है।
आप जानना चाहते हैं कि इस फ़ंक्शन को किन स्थानों पर कॉल किया गया है।
पहले आप क्या करते थे? क्लाउड कोड grep एक बार, यह छूट सकता है, यह झूठी सकारात्मकता हो सकती है।
अब सीधे पूछें: "LSP का उपयोग करके displayBooks के सभी संदर्भों को खोजें"
परिणाम:
-
फ़ंक्शन परिभाषा स्थान
-
फ़ेच सफल होने के बाद कॉल किया गया स्थान
-
अन्य सभी संदर्भित स्थान
सटीक, तेज़ और कोई चूक नहीं।
केस 2: फ़ंक्शन पैरामीटर को समझना
आप चाहते हैं कि क्लाउड कोड का एक टुकड़ा उत्पन्न करे, जो displayError फ़ंक्शन को कॉल करे।
लेकिन आप सुनिश्चित नहीं हैं कि यह फ़ंक्शन कौन से पैरामीटर स्वीकार करता है।
इससे पूछें: "displayError कौन से पैरामीटर स्वीकार करता है? LSP का उपयोग करें"
भाषा सर्वर सीधे वापस आ जाता है: यह एक संदेश पैरामीटर स्वीकार करता है।
क्लाउड जानता है, उत्पन्न कोड गलत नहीं होगा।
केस 3: API कॉल ढूंढना
आप यह खोजना चाहते हैं कि परियोजना में किस स्थान पर /api/recommendations इंटरफ़ेस को कॉल किया गया है।
क्लाउड से पूछें: "LSP का उपयोग करके /api/recommendations के सभी संदर्भों को खोजें"
यह फ़ेच कॉल के स्थान को ढूंढता है, पंक्ति के लिए सटीक।
API समस्याओं को डिबग करना, डेटा प्रवाह को ट्रैक करना, सुपर उपयोगी।
केस 4: पहले से त्रुटियों का पता लगाना
आप कोड को रिफैक्टर कर रहे हैं, और आपने गलती से एक चर नाम की वर्तनी गलत कर दी है।
सामान्य परिस्थितियों में, आपको इसे खोजने के लिए कोड चलाने की आवश्यकता होगी।
लेकिन LSP के साथ, भाषा सर्वर वास्तविक समय में जाँच करता है, और समस्या मिलने पर तुरंत क्लाउड कोड को रिपोर्ट करता है।
क्लाउड आपको कोड चलाने से पहले ही बता देता है: यहाँ एक त्रुटि है।
कैसे सेट करें? 5 चरणों में करें
घबराओ मत, सेटअप बहुत आसान है।
चरण 1: LSP टूल सक्षम करें
अपनी शेल कॉन्फ़िगरेशन फ़ाइल (.bashrc या .zshrc) में एक पंक्ति जोड़ें:
exportENABLE_LSP_TOOLS=1 फिर source ~/.zshrc चलाकर इसे प्रभावी करें।
चरण 2: भाषा सर्वर प्लगइन स्थापित करें
क्लाउड कोड खोलें, दर्ज करें:
/plugin अपनी भाषा के लिए संबंधित प्लगइन ढूंढें:
-
Python: pyright-lsp चुनें
-
TypeScript/JavaScript: vtsls या typescript-lsp चुनें
-
Go: gopls चुनें
-
Rust: rust-analyzer चुनें
"Install for me only" चुनें, इंस्टॉल करें।
चरण 3: भाषा सर्वर बाइनरी फ़ाइलें स्थापित करें
प्लगइन केवल एक इंटरफ़ेस है, वास्तविक काम भाषा सर्वर द्वारा ही किया जाता है।
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: क्लाउड कोड को पुनरारंभ करेंclaude
चरण 5: सत्यापित करें कि यह काम कर रहा है या नहीं
/plugin दर्ज करें, "Installed" टैब की जाँच करें, और आपको अपना प्लगइन दिखाई देना चाहिए।
इसे आज़माएं:
LSP का उपयोग करके someFunction के सभी संदर्भों को खोजें यदि Claude Code grep के बजाय find_references टूल का उपयोग करता है, तो इसका मतलब है कि यह सफल रहा।
LSP का उपयोग कब करें? कब नहीं?
LSP कोई रामबाण नहीं है।
LSP के लिए उपयुक्त परिदृश्य:
-
बड़ी परियोजनाएं (सैकड़ों फाइलें)
-
फ़ंक्शन कॉल को क्रॉस-फ़ाइल ट्रैक करना
-
सटीक फ़ंक्शन हस्ताक्षर की आवश्यकता है (विशेष रूप से गतिशील भाषाएं)
-
कोड को रिफैक्टर करना, बग बनाने से डरना
LSP के लिए अनुपयुक्त परिदृश्य:
-
छोटी परियोजनाएं, त्वरित स्क्रिप्ट
-
सरल पाठ खोज
-
बस यह पता लगाना कि एक स्ट्रिंग कहाँ है
सीधे शब्दों में कहें तो, जब grep तेज़ हो तो grep का उपयोग करें, और जब LSP सटीक हो तो LSP का उपयोग करें।
उपकरण लोगों की सेवा के लिए हैं, न कि उपयोग करने के लिए।
कुछ कमियाँ, मैं आपको पहले से बता दूँ
कमी 1: भाषा सर्वर PATH में होना चाहिए
यदि Claude Code कहता है "No LSP server available", तो संभवतः आपका भाषा सर्वर सही ढंग से स्थापित नहीं है, या PATH में नहीं है।
टर्मिनल में which pyright (या आपका भाषा सर्वर) चलाएँ, और देखें कि क्या आप इसे ढूंढ सकते हैं।
कमी 2: प्लगइन स्थापित करने के बाद रीस्टार्ट करना होगा
नया प्लगइन स्थापित करने या भाषा सर्वर को अपडेट करने के बाद, Claude Code को रीस्टार्ट करना सुनिश्चित करें।
भाषा सर्वर स्टार्टअप पर लोड होते हैं।
कमी 3: कभी-कभी स्पष्ट रूप से "LSP का उपयोग करें" कहना आवश्यक होता है
यदि आपको लगता है कि Claude Code अभी भी grep का उपयोग कर रहा है LSP के बजाय, तो एक पंक्ति जोड़ें "LSP का उपयोग करें":
LSP का उपयोग करके authenticateUser के सभी संदर्भों को खोजें इस तरह इसे पता चल जाएगा कि भाषा सर्वर का उपयोग करना है।
कमी 4: कोई दृश्य संकेत नहीं
VS Code के विपरीत, Claude Code आपको यह नहीं बताएगा कि LSP सर्वर चल रहा है या नहीं।
कोई स्टेटस बार आइकन नहीं, कोई सूचना नहीं।
पुष्टि करने का एकमात्र तरीका: वास्तविक परीक्षण।
अंत में दो शब्द
Claude Code LSP का समर्थन करता है, यह कोई छोटा अपडेट नहीं है, यह एक गुणात्मक परिवर्तन है।
पहले यह "टेक्स्ट सर्च + AI अनुमान" था।
अब यह "भाषा सर्वर + AI समझ" है।
यह ऐसा है जैसे आपने फोनबुक पलटने से लेकर सर्च इंजन का उपयोग करना शुरू कर दिया हो।
दक्षता अंतर, जमीन आसमान का अंतर है।
यदि आप Claude Code का उपयोग करके कोई गंभीर परियोजना कर रहे हैं, तो LSP को सेट करने में 5 मिनट खर्च करें।
ये 5 मिनट, सार्थक हैं।
कार्य सूची:
-
शेल कॉन्फ़िगरेशन में
export ENABLE_LSP_TOOLS=1जोड़ें -
Claude Code खोलें, और अपना भाषा प्लगइन स्थापित करने के लिए
/pluginचलाएँ -
संबंधित भाषा सर्वर बाइनरी फ़ाइल स्थापित करें
-
Claude Code को रीस्टार्ट करें
-
परीक्षण करें "LSP का उपयोग करके XXX के सभी संदर्भों को खोजें"
इंस्टॉल करने के बाद, आप पाएंगे कि:पता चला Claude Code इतना तेज़ भी हो सकता है।





