Gemini Code Assist की मदद से, कोड में अपनी पसंद के मुताबिक बदलाव करना

इस दस्तावेज़ में, Gemini Code Assist की कोड को पसंद के मुताबिक बनाने की सुविधा का इस्तेमाल करने का तरीका बताया गया है. साथ ही, कुछ सबसे सही तरीके भी बताए गए हैं. इस सुविधा की मदद से, आपको कोड के सुझाव मिलते हैं. ये सुझाव, आपकी इंटरनल लाइब्रेरी, निजी एपीआई, और आपके संगठन की कोडिंग स्टाइल से लिए जाते हैं.

शुरू करने से पहले

  1. Enterprise सदस्यता के साथ Gemini Code Assist सेट अप करें.
  2. Gemini Code Assist की मदद से कोड को पसंद के मुताबिक बनाने की सुविधा सेट अप करें.

कोड को पसंद के मुताबिक बनाने की सुविधा का इस्तेमाल करने का तरीका

यहां दी गई टेबल में, Gemini Code Assist की कोड कस्टमाइज़ेशन सुविधा का इस्तेमाल करने के तरीके बताए गए हैं:

फ़ॉर्म ट्रिगर करने का तरीका अहम जानकारी और संसाधन

बोलचाल की भाषा में चैट करने की सुविधा

आईडीई में Gemini Code Assist की चैट में, नैचुरल लैंग्वेज में प्रॉम्प्ट डालें.

इसके लिए, इन्हें आज़माएं:

  • चैट इतिहास उपलब्ध नहीं है. एक से ज़्यादा चरणों वाली क्वेरी न पूछें.
  • सोर्स के बारे में ज़्यादा जानकारी मांगी जा सकती है. इसमें सोर्स के लिंक भी शामिल हैं.
  • अगर चैट में मैसेज भेजते समय कोड को हाइलाइट या चुना जाता है, तो Gemini Code Assist उस कोड का इस्तेमाल करता है. इससे कोड को पसंद के मुताबिक बनाने और चैट की क्वालिटी को बेहतर बनाने में मदद मिलती है.

ज़्यादा जानकारी के लिए, Gemini Code Assist से चैट करना लेख पढ़ें.

कोड जनरेट करें अपने आईडीई के क्विक पिक बार में, चुने गए कोड के साथ या उसके बिना, Command+Enter (macOS पर) या Control+Enter दबाएं. ज़्यादा जानकारी के लिए, प्रॉम्प्ट की मदद से कोड जनरेट करना लेख पढ़ें.
कोड बदलें अपने आईडीई के क्विक पिक बार में, चुने गए कोड के साथ या उसके बिना /fix डालें. ज़्यादा जानकारी के लिए, प्रॉम्प्ट की मदद से कोड जनरेट करना लेख पढ़ें.
ऑटोकंप्लीट कोड को पसंद के मुताबिक बनाने की सुविधा अपने-आप चालू हो जाती है. साथ ही, यह सुविधा आपके लिखे गए कोड के आधार पर सुझाव देती है.

इसके लिए, इन्हें आज़माएं:

  • कोड पूरा करने की सुविधा को सुझाव देने के लिए, एक तय लेवल का कॉन्फ़िडेंस होना ज़रूरी है. पक्का करें कि कोड का ज़्यादा हिस्सा उपलब्ध हो, ताकि काम के स्निपेट वापस पाए जा सकें.
  • कोड पूरा करने की सुविधा यह जांच करती है कि फ़ंक्शन के कुछ एलिमेंट इस्तेमाल करने के लिए, आपके पास ज़रूरी लाइब्रेरी सही क्रम में हैं या नहीं.

ज़्यादा जानकारी के लिए, कोड पूरा करने की सुविधा पाना लेख पढ़ें.

रिमोट रिपॉज़िटरी का कॉन्टेक्स्ट
  1. अपने प्रॉम्प्ट की शुरुआत @ सिंबल से करें. आपको इंडेक्स की गई उपलब्ध रिमोट रिपॉज़िटरी की सूची दिखेगी.
  2. सूची से वह रिपॉज़िटरी चुनें जिसका इस्तेमाल आपको कॉन्टेक्स्ट के लिए करना है. सूची को फ़िल्टर करने के लिए, रिपॉज़िटरी का नाम भी टाइप किया जा सकता है.
  3. रेपॉज़िटरी चुनने के बाद, बाकी प्रॉम्प्ट लिखें.

इसके लिए, इन्हें आज़माएं:

  • यह सुविधा तब काम आती है, जब आपको कोई ऐसा टास्क पूरा करना हो जो ज़्यादातर माइक्रोसर्विसेज़, लाइब्रेरी या मॉड्यूल के किसी खास सेट से जुड़ा हो.

ज़्यादा जानकारी के लिए, रिमोट रिपॉज़िटरी के कॉन्टेक्स्ट के साथ ज़्यादा काम के सुझाव पाना लेख पढ़ें.

इस्तेमाल के उदाहरण और प्रॉम्प्ट के उदाहरण

इस टेबल में, इस्तेमाल के कुछ उदाहरणों में कोड को पसंद के मुताबिक बनाने के बारे में दिशा-निर्देश और उदाहरण दिए गए हैं:

इस्तेमाल का उदाहरण आज़माने लायक़ चीज़ें
नया कोड लिखा जा रहा है

अपने आईडीई या Gemini Code Assist चैट में कोड जनरेट करने के लिए, यह तरीका अपनाएं:

  • ऐसा कोड जनरेट करें जिसमें उन शब्दों का इस्तेमाल किया गया हो जो आपके कोडबेस में पहले से मौजूद हैं.
  • अपने कोड को चिपकाएं. जैसे, काम करने वाला सिग्नेचर या TODO टिप्पणियों वाला कोड. इसके बाद, Gemini Code Assist से TODO टिप्पणियों को कोड से भरने या बदलने के लिए कहें. कॉन्टेक्स्ट के हिसाब से, जानकारी के साथ टिप्पणियां जोड़ें.

Gemini Code Assist की चैट में, इन प्रॉम्प्ट का इस्तेमाल करके कोड जनरेट करने की कोशिश करें:

  • "एक मुख्य फ़ंक्शन लिखो, जिसमें DATABASE से कनेक्शन बनाया गया हो. इसमें हेल्थ चेक शामिल हैं."
  • "नीचे दिए गए स्ट्रक्चर में FUNCTION_OR_CLASS लिखो: EXPLAIN_STRUCTURE."

कुछ कोड जनरेट करने के बाद, उसे बेहतर बनाने के लिए फ़ॉलो-अप प्रॉम्प्ट का इस्तेमाल करें:

  • "जनरेट किए गए कोड में बदलाव करने के लिए, /fix कमांड का इस्तेमाल करें. उदाहरण के लिए, सिंटैक्स से जुड़ी गड़बड़ियां ठीक करने के लिए."
  • "Add missing imports."
  • "चैट से जनरेट किए गए कोड पर /fix आज़माएं."
कोड को साफ़ करना, आसान बनाना, और बेहतर बनाना

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "क्या इस फ़ाइल में IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS को मर्ज किया जा सकता है?"
  • "FUNCTION_NAME फ़ंक्शन को आसान कैसे बनाया जा सकता है?"
  • "क्या FUNCTION_NAME_1 और FUNCTION_NAME_2 को एक फ़ंक्शन में मर्ज किया जा सकता है?"
  • "क्या FUNCTION_NAME में कुछ वैरिएबल इनलाइन किए जा सकते हैं?"
  • "क्या फ़ंक्शन FUNCTION_NAME में वैरिएबल के नाम को आसान बनाया जा सकता है?"
रीडेबिलिटी

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "अगर हो सके, तो FUNCTION_NAME फ़ंक्शन को कम लाइन के कोड में लिखो."
  • "फ़ंक्शन FUNCTION_NAME में टिप्पणियां जोड़ें."
  • "फ़ंक्शन FUNCTION_NAME में मौजूद गैर-ज़रूरी व्हाइटस्पेस हटाएं."
  • "फ़ंक्शन FUNCTION_NAME को कोड के बाकी हिस्से की तरह फ़ॉर्मैट करो."
कोड की समीक्षा

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "कोड को हिस्सों में बांटो और हमारे कोडबेस का इस्तेमाल करके, हर हिस्से के बारे में बताओ."
  • "क्या ऐसे वैरिएबल या कीवर्ड हैं जिन्हें छोटा और ज़्यादा जानकारी देने वाला बनाया जा सकता है?"
  • "क्या इस कोड के लिए, REPOSITORY_NAME_PACKAGE_MODULE कॉन्टेक्स्ट से काम का कोड मिल सकता है?"
  • "आपको फ़ंक्शन FUNCTION_NAME के बारे में क्या लगता है?"
डीबग करना

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "मुझे X/Y जोड़ने की कोशिश करते समय गड़बड़ी का मैसेज मिल रहा है. क्यों?"
  • "क्या आपको फ़ंक्शन FUNCTION_NAME में कोई गड़बड़ी दिख रही है?"
  • "गड़बड़ी के इस मैसेज को देखते हुए, FUNCTION_NAME फ़ंक्शन को कैसे ठीक किया जाएगा?"
सीखना और ऑनबोर्डिंग

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "इस कोड को हिस्सों में बांटो और हमारे कोडबेस का इस्तेमाल करके, हर हिस्से के बारे में बताओ."
  • "कॉल करने का तरीका दिखाओ FUNCTION_NAME?"
  • "ENVIRONMENT_NAME एनवायरमेंट में मुख्य फ़ंक्शन चलाने का तरीका दिखाओ?"
  • "इस कोड को ज़्यादा बेहतर बनाने के लिए, हम कौनसी मुख्य तकनीकी सुधार कर सकते हैं?"
  • "मुझे बेहतर नतीजे पाने के लिए, FUNCTION_OR_CLASS_NAME को लागू करने का तरीका दिखाओ और यह भी बताओ कि वह खास एलिमेंट क्या है"—उदाहरण के लिए, "मुझे फ़ंक्शन foo को लागू करने का तरीका दिखाओ, जहां foo फ़ंक्शन का नाम है."
माइग्रेशन

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "मुझे FILE_NAME से LANGUAGE_1 में LANGUAGE_2 पर माइग्रेट करने का तरीका बताओ"—उदाहरण के लिए, Go से Python पर माइग्रेट करने का तरीका.
  • "मुझे REPOSITORY_NAME रिपॉज़िटरी में मौजूद FUNCTION_NAME फ़ंक्शन के जैसा कोई फ़ंक्शन, LANGUAGE_NAME भाषा में चाहिए, जिसका इस्तेमाल किया जा सके."

प्रॉम्प्ट का इस्तेमाल करके, चैट या कोड जनरेट करने की सुविधा से जुड़े इस वर्कफ़्लो को आज़माएं:

  1. "FILENAME_COMPONENT में पहले से लिखे गए कोड को LANGUAGE_1 में बदलें और उसे LANGUAGE_2 में माइग्रेट करें"—उदाहरण के लिए, Go से Python में माइग्रेट करें.
  2. कुछ कोड माइग्रेट करने के बाद, यह तरीका आज़माएं:
    • छोटे-छोटे हिस्से चुनें और /fix का इस्तेमाल करके, उन्हें अपनी पसंद के मुताबिक बनाएं.
    • ये प्रॉम्प्ट आज़माएँ:
      • "क्या इसमें कुछ सुधार किया जा सकता है?"
      • "मुझे संभावित समस्याओं के बारे में बताओ."
      • "अगर माइग्रेशन सही है, तो इस कोड की जांच कैसे की जाएगी?"
दस्तावेज़ जनरेट किया जा रहा है

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "पैकेज या फ़ोल्डर X में मौजूद कोड के बारे में खास जानकारी दो. साथ ही, पांच सबसे ज़रूरी तरीकों के बारे में दस्तावेज़ उपलब्ध कराओ."
  • "FUNCTION_OR_CLASS_NAME के लिए दस्तावेज़ जनरेट करो."
  • "दस्तावेज़ को छोटा करो, लेकिन अहम जानकारी को बनाए रखो."
यूनिट टेस्ट जनरेट करना

Gemini Code Assist की चैट में, ये प्रॉम्प्ट आज़माएँ:

  • "FILENAME के लिए यूनिट टेस्ट जनरेट करो."
  • "FUNCTION_NAME फ़ंक्शन के लिए सबसे काम के टेस्ट केस जोड़ें."
  • "उन टेस्ट केस को हटाओ जो तुम्हारे हिसाब से ज़्यादा काम के नहीं हैं."

सबसे सही तरीके

  • काम के वैरिएबल और फ़ंक्शन के नामों या कोड स्निपेट का इस्तेमाल करें. इससे कोड को सबसे ज़्यादा काम के कोड उदाहरणों के हिसाब से बनाया जा सकता है.
  • उन इंडेक्स रिपॉज़िटरी का इस्तेमाल करें जिन्हें आपको स्केल करना है. साथ ही, बंद हो चुकी सुविधाओं को जोड़ने से बचें. कोड को पसंद के मुताबिक बनाने से, कोड स्टाइल, पैटर्न, कोड सिमैंटिक, जानकारी, और कोडबेस में लागू करने के तरीके को बेहतर बनाने में मदद मिलती है. स्केल करने के लिए रिपॉज़िटरी के खराब उदाहरणों में, बंद की गई सुविधाएं, जनरेट किया गया कोड, और लेगसी सिस्टम शामिल हैं.
  • कोड को फिर से पाने के लिए, कोड जनरेट करने की सुविधा का इस्तेमाल करें. इसके बजाय, कोड पूरा करने की सुविधा का इस्तेमाल न करें. ऐसे प्रॉम्प्ट का इस्तेमाल करें जिसमें "FUNCTION_NAME की परिभाषा का इस्तेमाल करके, ठीक वैसा ही फ़ंक्शन जनरेट करो" या "FUNCTION_NAME को ठीक वैसे ही लागू करो" जैसे शब्दों का इस्तेमाल किया गया हो.
  • Gemini को कॉन्टेक्स्ट के बारे में बेहतर जानकारी देने के लिए, उस कोड की फ़ाइल में शामिल या इंपोर्ट किए गए कॉन्टेंट मौजूद होने चाहिए जिसे आपको वापस पाना है.
  • हर प्रॉम्प्ट के लिए सिर्फ़ एक कार्रवाई करें. उदाहरण के लिए, अगर आपको कोड वापस पाना है और इस कोड को नए फ़ंक्शन में लागू करना है, तो दो प्रॉम्प्ट में यह तरीका अपनाएं.
  • उन मामलों में जहाँ आपको सिर्फ़ कोड से ज़्यादा जानकारी चाहिए (जैसे, कोड की जानकारी, माइग्रेशन प्लान या गड़बड़ी की जानकारी), चैट के लिए कोड को पसंद के मुताबिक बनाएं. इससे आपको Gemini के साथ बातचीत करने का मौका मिलेगा. इस बातचीत में, आपके कोडबेस के बारे में जानकारी शामिल होगी.
  • ध्यान दें कि एआई मॉडल जनरेशन, नॉन-डिटरमिनिस्टिक होता है. अगर आपको जवाब से संतुष्टि नहीं मिलती है, तो उसी प्रॉम्प्ट को फिर से आज़माने पर, आपको बेहतर नतीजे मिल सकते हैं.
  • ध्यान दें कि यूनिट टेस्ट जनरेट करने की सुविधा आम तौर पर तब बेहतर तरीके से काम करती है, जब फ़ाइल को स्थानीय तौर पर खोला जाता है. इसके बाद, चैट में जाकर इस फ़ाइल या किसी खास फ़ंक्शन के लिए यूनिट टेस्ट जनरेट करने के लिए कहा जाता है.

रिमोट रिपॉज़िटरी के कॉन्टेक्स्ट के हिसाब से ज़्यादा काम के सुझाव पाना

Gemini Code Assist को किसी खास रिमोट रिपॉज़िटरी पर फ़ोकस करने का निर्देश देकर, कॉन्टेक्स्ट के हिसाब से ज़्यादा सटीक और काम के कोड सुझाव पाए जा सकते हैं. चैट में @ सिंबल का इस्तेमाल करके, एक या एक से ज़्यादा रिपॉज़िटरी चुनी जा सकती हैं. इनका इस्तेमाल, आपके प्रॉम्प्ट के लिए कॉन्टेक्स्ट के मुख्य सोर्स के तौर पर किया जाएगा. यह सुविधा तब काम आती है, जब आपको कोई ऐसा टास्क पूरा करना हो जो ज़्यादातर माइक्रोसेवाओं, लाइब्रेरी या मॉड्यूल के किसी खास सेट से जुड़ा हो.

किसी रिमोट रिपॉज़िटरी को कॉन्टेक्स्ट के तौर पर इस्तेमाल करने के लिए, अपने आईडीई की चैट में यह तरीका अपनाएं:

  1. अपने प्रॉम्प्ट की शुरुआत @ सिंबल से करें. आपको इंडेक्स की गई उपलब्ध रिमोट रिपॉज़िटरी की सूची दिखेगी.
  2. सूची से वह रिपॉज़िटरी चुनें जिसका इस्तेमाल आपको कॉन्टेक्स्ट के लिए करना है. सूची को फ़िल्टर करने के लिए, रिपॉज़िटरी का नाम भी टाइप किया जा सकता है.
  3. रेपॉज़िटरी चुनने के बाद, बाकी प्रॉम्प्ट लिखें.

इसके बाद, Gemini जवाब जनरेट करते समय चुनी गई रिपॉज़िटरी को प्राथमिकता देगा.

प्रॉम्प्ट के उदाहरण

इस सुविधा का इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं:

  • किसी डेटाबेस के बारे में जानने के लिए:
    • "@REPOSITORY_NAME इस रिपॉज़िटरी का पूरा स्ट्रक्चर क्या है?"
    • "@REPOSITORY_NAME मैं टीम का नया सदस्य हूं. क्या तुम मुझे इस रिपॉज़िटरी के मकसद और मुख्य मॉड्यूल के बारे में खास जानकारी दे सकते हो?"
  • कोड जनरेट करने और उसमें बदलाव करने के लिए:
    • "@REPOSITORY_NAME इस रिपॉज़िटरी में मौजूद फ़ंक्शन की तरह ही पुष्टि करने वाला फ़ंक्शन लागू करें."
    • "@REPOSITORY_NAME इस कोड को फिर से लिखो, ताकि यह चुनी गई रिपॉज़िटरी के नियमों का पालन करे."
    • "@REPOSITORY_A_NAME मैं इस रिपॉज़िटरी के नए फ़ंक्शन का इस्तेमाल करके, REPOSITORY_B_NAME में अपने कोड को कैसे बेहतर बनाऊं?"
  • जांच करने के लिए:
    • "@UNIT_TEST_FILE_NAME चुनी गई फ़ाइल में दिए गए उदाहरणों के आधार पर, MODULE के लिए यूनिट टेस्ट जनरेट करो."

रिमोट रिपॉज़िटरी को कॉन्टेक्स्ट के मुख्य सोर्स के तौर पर इस्तेमाल करके, Gemini Code Assist से ज़्यादा सटीक और काम के सुझाव पाए जा सकते हैं. इससे आपको तेज़ी से और ज़्यादा असरदार तरीके से कोड करने में मदद मिल सकती है.