Last chance! 50% off DataCamp Premium
Sale ends in
हाल ही में ओपन-सोर्स मॉडलों में वृद्धि हुई है, और कोड एडिटिंग की बात करें तो Cursor AI और GitHub Copilot जैसे खिलाड़ी उपयोगकर्ताओं को अपने AI कोड असिस्टेंट्स मुफ्त में आज़माने देते हैं, लेकिन किसी वास्तविक प्रोजेक्ट पर काम करते ही हमें जल्दी पेवॉल का सामना करना पड़ता है।
जेमिनी कोड असिस्ट, Google का AI कोड असिस्टेंट, अब अपना काफ़ी उदार मुफ्त टियर लेकर आया है। यह Visual Studio Code और JetBrains एक्सटेंशनों के रूप में उपलब्ध है।
इस ट्यूटोरियल में, हम सीखेंगे कि इसे Visual Studio Code पर कैसे सेटअप करें और कई व्यावहारिक उदाहरणों के साथ इसका उपयोग कैसे करें।
AI कोड असिस्टेंट, AI का उपयोग करके डेवलपर्स को अधिक कुशलता से कोड करने में मदद करते हैं—जैसे कोड स्निपेट सुझाना, दोहराए जाने वाले कार्यों को स्वचालित करना, और Visual Studio Code जैसे कोडिंग वातावरण में रीयल-टाइम सुधार प्रदान करना। इससे डेवलपर्स दिनचर्या के कामों पर कम और जटिल व रचनात्मक कार्यों पर अधिक समय दे पाते हैं।
हालाँकि चैटबॉट्स भी कोडिंग कार्यों में मदद कर सकते हैं, पर उन्हें उपयोग करना झंझटभरा हो सकता है क्योंकि IDE और AI प्लेटफ़ॉर्म के बीच आगे-पीछे स्विच करना पड़ता है और काफी कॉपी-पेस्ट करना होता है।
AI कोड असिस्टेंट सीधे कोडिंग वातावरण में एकीकृत होते हैं। इससे वे हमारे कोडिंग संदर्भ से अवगत रहते हैं और प्रश्न पूछते समय हमें स्पष्ट रूप से कोड स्निपेट देने की ज़रूरत नहीं पड़ती। यह कोड असिस्टेंट्स को सीधे कोड संशोधित करने की क्षमता भी देता है, जिससे बदलावों को जोड़ना बहुत तेज़ हो जाता है।
इस ट्यूटोरियल में, हम Visual Studio Code के साथ जेमिनी कोड असिस्ट का उपयोग करेंगे। जेमिनी कोड असिस्ट एक Visual Studio एक्सटेंशन है, इसलिए हम इसे किसी अन्य एक्सटेंशन की तरह ही इंस्टॉल कर सकते हैं:

इंस्टॉल होने के बाद, बाएँ पैनल में जेमिनी टैब दिखाई देगा। कोड असिस्टेंट का उपयोग शुरू करने के लिए, जेमिनी लोगो वाले उस टैब पर क्लिक करें और अपने Google खाते से साइन इन करें।

जेमिनी कोड असिस्ट का परीक्षण करने के लिए, मैंने हालिया Spotify गानों के एक डेटासेट का Python के साथ विश्लेषण करने का फैसला किया। मैंने Kaggle से डेटासेट लिया, जो यहाँ उपलब्ध है।
शुरू करने के लिए, एक फ़ोल्डर बनाएँ और songs.csv फ़ाइल को उस फ़ोल्डर में निकालें। फिर उस फ़ोल्डर को Visual Studio Code में खोलें। योजना यह है कि बिना किसी कोड के शुरू करें और जेमिनी कोड असिस्ट से हमारे लिए पूरा कोड लिखवाएँ।
पहला प्रॉम्प्ट जो मैंने भेजा, उसमें एक Python फ़ंक्शन बनाने को कहा जो डेटा को pandas DataFrame में लोड करे।

आम तौर पर, कोड असिस्टेंट मौजूदा कोड में बदलाव करके हमें नया डिफ़ दिखाता है। चूँकि यहाँ अभी कोई कोड नहीं है, हम चैट विंडो में कोड क्लोज़ के ऊपर दाएँ कोने में अंतिम बटन पर क्लिक करके प्रस्तावित कोड के साथ एक नई फ़ाइल बनाने के लिए कह सकते हैं।

फिर हम फ़ाइल का नाम बदलकर songs.py कर देते हैं।
हम Visual Studio Code के इंटीग्रेटेड टर्मिनल का उपयोग करके इस कमांड से कोड चला सकते हैं:
python songs.py
इस मामले में, हमें एक त्रुटि मिलती है:
ModuleNotFoundError: No module named 'pandas'
ऐसा इसलिए है क्योंकि songs.py स्क्रिप्ट pandas का उपयोग करने की कोशिश कर रही है, जो इंस्टॉल नहीं है। यह जांचने का अच्छा मौका है कि जेमिनी कोड असिस्ट Visual Studio Code के अंदर टर्मिनल से अवगत है या नहीं।
मैंने इसे टर्मिनल में त्रुटि को ठीक करने का तरीका समझाने को कहा। दुर्भाग्यवश, इसने एक सामान्य उत्तर दिया, जिससे लगा कि यह टर्मिनल आउटपुट तक पहुँच नहीं रखता। विकल्प यह है कि त्रुटि पाठ को AI चैट में कॉपी-पेस्ट किया जाए, जो थोड़ा झंझटभरा है। लेकिन ऐसा करने पर हमें सही उत्तर मिला कि टर्मिनल में pip install pandas कमांड चलानी होगी।
यह एक खेदजनक सीमा है क्योंकि, एक सॉफ्टवेयर इंजीनियर के रूप में, टर्मिनल में दिख रही त्रुटियों पर सवाल पूछना AI का उपयोग करने के सबसे आम मामलों में से एक है।
pandas इंस्टॉल करने के बाद, हम कोड को सफलतापूर्वक चला सकते हैं।

जेमिनी कोड असिस्ट केवल कोडिंग प्रश्नों तक सीमित नहीं है। हम सामान्य या डेटा-संबंधी प्रश्न भी पूछ सकते हैं। आइए songs.csv फ़ाइल में मौजूद डेटा का अंदाज़ा लगाने के लिए इससे सभी कॉलम सूचीबद्ध करने को कहें:

उत्तर में, इसने कॉलम सूचीबद्ध करने वाला एक फ़ंक्शन बनाया, लेकिन साथ ही सीधे उत्तर में एक सूची भी दिखा दी:

अक्सर, जेमिनी कोड असिस्ट का उपयोग करते समय लगा कि उसे यह अलग करने में थोड़ी दिक्कत होती है कि कब मैं केवल टेक्स्टुअल उत्तर वाला सामान्य प्रश्न पूछ रहा हूँ और कब मुझे कोड लिखवाना है। यह बड़ी समस्या नहीं है क्योंकि हम कोड वाले हिस्से को नज़रअंदाज़ कर सकते हैं, लेकिन इससे चैट में अव्यवस्था बढ़ जाती है।
पिछले उत्तर से पता चलता है कि एक track_popularity कॉलम है। आइए जेमिनी कोड असिस्ट से सबसे लोकप्रिय गाना पाने वाला एक नया फ़ंक्शन लागू करने को कहें।

जब जेमिनी कोड असिस्ट उत्तर में कोड लिखता है, तो वह फ़ंक्शन अपने-आप हमारे कोड में शामिल नहीं होता। ऐसा करने के लिए, हम "Diff with Open File" वाले डबल एरो बटन पर क्लिक करते हैं। क्लिक करने से पहले यह सुनिश्चित करें कि जिन बदलावों का संबंध जिस फ़ाइल से है, वही फ़ाइल संपादक में खुली हो; नहीं तो बदलाव गलत फ़ाइल में मर्ज हो सकते हैं।

बटन दबाने के बाद, हमें एक डिफ़ दिखता है। बाईं ओर कोड की वर्तमान स्थिति और दाईं ओर नई स्थिति दिखती है। लाल रंग में हाइलाइट पंक्तियाँ वे हैं जिन्हें हटाया या बदला जाएगा, जबकि पीले रंग में हाइलाइट पंक्तियाँ जोड़ या बदलाव दर्शाती हैं।

हम दाईं ओर स्क्रॉलबार को देखकर इन बदलावों का पता लगा सकते हैं। अक्सर, फ़ाइल में कई जगहों पर बदलावों की ज़रूरत होती है, और बदलाव स्वीकार करने से पहले उन सभी पर नज़र डालना महत्वपूर्ण है।

किसी बदलाव पर होवर करने पर, हमें बीच में एक तीर दिखाई देता है:
![]()
मुझे यह आइकन सहज नहीं लगता, लेकिन इस तीर पर क्लिक करने से हम यह निर्दिष्ट करते हैं कि हम उस विशेष बदलाव को शामिल नहीं करना चाहते। जिन बदलावों को चुनना है, तय करने के बाद, हम ऊपर दिए गए "Accept” बटन पर क्लिक करके नया कोड शामिल कर सकते हैं।

अब तक, हम AI चैट के जरिए जेमिनी कोड असिस्ट से बातचीत कर रहे थे। यह पहले ही उस वर्कफ़्लो से बेहतर है जिसमें AI प्लेटफ़ॉर्म और कोड एडिटर के बीच बार-बार कॉपी-पेस्ट करना पड़ता है, क्योंकि सब कुछ एक ही विंडो में एकीकृत है और हमें डिफ़ दिखता है, जिससे नए बदलाव देखना आसान हो जाता है। हालांकि, कोड असिस्ट इससे भी अधिक कर सकता है।
जब हम कोड लिखते हैं, तो असिस्टेंट उसे विश्लेषित करता है और कोड सुझाव देता है जिन्हें एक बटन दबाकर जोड़ा जा सकता है।
डेटासेट में track_popularity कॉलम ट्रैक की लोकप्रियता स्टोर करता है। आइए एक फ़ंक्शन लिखें जो किसी दिए गए आर्टिस्ट के गानों की लोकप्रियता उनके रिलीज़ डेट के आधार पर सॉर्ट करके दिखाए। हम सॉर्ट करने के लिए track_album_release_date का उपयोग कर सकते हैं।
जैसे-जैसे हम फ़ंक्शन लिखते हैं, जेमिनी कोड असिस्ट ऑटो-कम्प्लीशन सुझाएगा। जब हम फ़ंक्शन सिग्नेचर लिखना शुरू करते हैं, तो जेमिनी कोड असिस्ट केवल नाम से ही हमारा इरादा भाँप लेता है:

किसी सुझाव को शामिल करने के लिए, हम कीबोर्ड पर बस Tab दबाते हैं। अगला कदम है दिए गए आर्टिस्ट के केवल उन गानों वाला DataFrame की एक कॉपी बनाना:

कभी-कभी कोड सुझाव हमारी चाहत के अनुसार नहीं होते। ऐसी स्थिति में हमें अभी भी मैन्युअल रूप से लिखना पड़ता है या, अगर सुझाव काफ़ी करीब है, तो उसे स्वीकार करके संपादित करना पड़ता है। इस उदाहरण में, अगला कदम track_album_release_date को डेट फ़ॉर्मेट में बदलना है। लेकिन किसी कारणवश, जेमिनी कोड असिस्ट केवल रिलीज़ ईयर निकालना चाहता था, इसलिए मैंने वह लाइन मैन्युअल रूप से लिखी।

इसके बाद, मैं गानों को तारीख के अनुसार सॉर्ट करना चाहता हूँ:

अंत में, मैं लोकप्रियता स्कोर लौटाता हूँ:

हम संपादक में पहले कोड को चुनकर विशिष्ट हिस्से को टार्गेट कर सकते हैं। कोड चुनते ही कुछ स्वतः-उत्पन्न प्रॉम्प्ट सुझाए जाते हैं, जैसे "इसकी व्याख्या करें" या "यूनिट टेस्ट बनाएँ।"

किसी नए कोडबेस में उतरते समय किसी स्निपेट का क्या काम है या यह कैसे काम करता है, पूछ पाना बहुत उपयोगी है। मैंने पाया कि किसी मौजूदा कोडबेस वाले नए प्रोडक्ट पर काम करते समय यह अक्सर सबसे कठिन चरण होता है।
हम इसे कस्टम प्रॉम्प्ट के साथ कोड संशोधित करने को भी कह सकते हैं। उदाहरण के लिए, हम अभी बनाए गए analyze_artist_popularity_over_time() फ़ंक्शन को बेहतर करने के लिए कह सकते हैं:

इस मामले में, इसने त्रुटियों को रोकने के लिए कुछ जाँचें जोड़कर फ़ंक्शन में सुधार किया।
व्यक्तिगत उपयोग के लिए जेमिनी कोड असिस्ट का मुफ्त प्लान, स्टैंडर्ड और एंटरप्राइज़ प्लान की तुलना में कुछ सीमाओं के साथ आता है:
अधिक विवरण के लिए देखें जेमिनी कोड असिस्ट की वेबसाइट।
मुझे जेमिनी कोड असिस्ट कुल मिलाकर काफ़ी अच्छा लगा। मेरे अनुभव में, इसका प्रदर्शन इसके मुख्य प्रतिद्वंद्वियों, Cursor और Copilot, के समान रहा। एक मुफ्त टूल के लिए यह वास्तव में प्रभावशाली है। मुफ्त टियर रोज़ाना 6,000 तक कोड-संबंधी अनुरोध और 240 चैट अनुरोध सपोर्ट करता है। यह अधिकांश प्रोग्रामर्स के लिए पर्याप्त होना चाहिए।
एक और दिलचस्प फीचर जिसे हमने यहाँ कवर नहीं किया, वह है GitHub इंटीग्रेशन। GitHub के लिए जेमिनी कोड असिस्ट पुल रिक्वेस्ट की समीक्षा करके बग्स और स्टाइल इश्यू ढूँढने में मदद करता है और स्वतः कोड परिवर्तनों और फिक्सेज़ का सुझाव देता है। इससे डेवलपर्स को कोड लिखने पर अधिक ध्यान देने की सुविधा मिलती है। यदि मदद चाहिए, तो उपयोगकर्ता अपनी पुल रिक्वेस्ट में कमेंट छोड़कर जेमिनी से पूछ सकते हैं।
एक समस्या जो मैंने देखी, वह यह है कि यह कभी-कभी पिछली रिक्वेस्ट्स के साथ थोड़ी उलझन में दिखता है। मैंने कई बार कुछ बदलावों के लिए कहा और फिर अलग दिशा में जाने का निर्णय लिया। इसके बावजूद, बाद की इटरेशंस में भी यह उन्हीं बदलावों को जोड़ना चाहता रहा। ऐसा ही एक उदाहरण वह फ़ंक्शन था जो हमने समय के साथ किसी ट्रैक की लोकप्रियता दिखाने के लिए लिखा था। शुरुआत में, मैं इन डेटा के साथ एक प्लॉट बनाना चाहता था और फिर अपना मन बदल लिया। हालांकि, उस डेटा को प्लॉट करने वाला कोड भविष्य की असंबंधित रिक्वेस्ट्स में भी बार-बार जुड़ता रहा, जो थोड़ा परेशान करने वाला था।
हाल ही में, मैंने अधिक प्रोग्रामर्स को चिंताएँ व्यक्त करते देखा है, जैसे इस Reddit थ्रेड में, कि Cursor या Copilot जैसे कोड असिस्टेंट्स का उपयोग धीरे-धीरे उन्हें कोड लिखना भुला रहा है।
इसमें कोई संदेह नहीं कि ये टूल्स अद्भुत उत्पादकता बढ़त देते हैं, और उनका उपयोग न करना हमें अपने साथियों की तुलना में नुकसान में डालता है। फिर भी, मेरा मानना है कि हर चीज़ में संतुलन ज़रूरी है, और AI कोडिंग टूल्स के मामले में हम आसानी से उस जाल में फँस सकते हैं जहाँ हम आँख बंद करके दिए गए कोड को स्वीकार कर लेते हैं। कम से कम हमें यह समय निकालना चाहिए कि वह जो जेनरेट करता है, उसे पढ़ें और समझें।
कोड कम्प्लीशन का उपयोग एक बेहतर मध्य-मार्ग लगता है क्योंकि इसमें कम से कम हमें कुछ न कुछ लिखना शुरू करना पड़ता है, जिससे मसल मेमोरी बनी रहती है और प्रोग्रामर्स AI टूल्स पर अत्यधिक निर्भर नहीं हो जाते। कोड कम्प्लीशन आमतौर पर छोटे-छोटे कोड चंक्स देता है, जिन्हें समझना आसान होता है।
AI टूल्स लगातार विकसित हो रहे हैं, जिनकी लागत घट रही है और पहुँच बढ़ रही है। जेमिनी कोड असिस्ट इस प्रवृत्ति का उदाहरण है, जो एक मज़बूत AI कोड असिस्टेंस टूल मुफ्त में उपलब्ध करा रहा है।
Google की यह पहल डेवलपर्स के लिए प्रवेश बाधाएँ कम करती है, जिससे लगभग कोई भी अपने कोडिंग कार्यों में शक्तिशाली AI सहायता का उपयोग कर सकता है। यह विशेष रूप से सराहनीय है कि जेमिनी कोड असिस्ट ऐसी सुविधाएँ देता है जो Cursor और Copilot जैसी सशुल्क सेवाओं के समकक्ष, या उनसे प्रतिस्पर्धी, हैं। प्रतिदिन 6,000 तक कोड-संबंधी अनुरोध और 240 चैट अनुरोध उपलब्ध होने के साथ, यह व्यक्तिगत डेवलपर्स या छोटे प्रोजेक्ट्स के लिए पर्याप्त से भी अधिक सहयोग प्रदान करता है।
इन कोर्सेज़ के साथ AI सीखें!
लर्निंग पाथ
कोर्स
लर्निंग पाथ