از سفارشی‌سازی کد Gemini Code Assist استفاده کنید

این سند نحوه استفاده از سفارشی‌سازی کد Gemini Code Assist را شرح می‌دهد و چند نمونه از بهترین شیوه‌ها را ارائه می‌دهد. این ویژگی به شما امکان می‌دهد توصیه‌های کد را دریافت کنید که از کتابخانه‌های داخلی، APIهای خصوصی و سبک کدنویسی سازمان شما استخراج می‌شوند.

قبل از اینکه شروع کنی

  1. Gemini Code Assist را با اشتراک Enterprise راه‌اندازی کنید .
  2. شخصی‌سازی کد Gemini Code Assist را تنظیم کنید .

نحوه استفاده از سفارشی‌سازی کد

جدول زیر روش‌های استفاده از سفارشی‌سازی کد Gemini Code Assist را فهرست می‌کند:

فرم چگونه تریگر کنیم یادداشت‌ها و منابع

چت به زبان طبیعی

یک درخواست به زبان طبیعی را در چت Gemini Code Assist در IDE وارد کنید.

موارد زیر را در نظر بگیرید:

  • سابقه چت در دسترس نیست. از پرسش‌های چند مرحله‌ای خودداری کنید.
  • می‌توانید جزئیات بیشتری در مورد منابع، از جمله لینک به منابع خاص، درخواست کنید.
  • اگر هنگام ارسال پیام در چت، کدی را هایلایت یا انتخاب کنید، Gemini Code Assist از آن کد برای بهبود سفارشی‌سازی کد و کیفیت چت استفاده می‌کند.

برای اطلاعات بیشتر، به «چت با دستیار کد جمینی» مراجعه کنید.

تولید کد در نوار انتخاب سریع در IDE خود، چه با کد انتخاب شده و چه بدون آن، کلیدهای Command+Enter (در macOS) یا Control+Enter را فشار دهید. برای اطلاعات بیشتر، به «ایجاد کد با اعلان‌ها» مراجعه کنید.
تبدیل کد در نوار انتخاب سریع در IDE خود، چه با کد انتخاب شده و چه بدون آن، /fix وارد کنید. برای اطلاعات بیشتر، به «ایجاد کد با اعلان‌ها» مراجعه کنید.
تکمیل خودکار سفارشی‌سازی کد به طور خودکار فعال می‌شود و بر اساس آنچه می‌نویسید، پیشنهادهایی ارائه می‌دهد.

موارد زیر را در نظر بگیرید:

  • تکمیل کد برای ارائه یک پیشنهاد به سطح مشخصی از اطمینان نیاز دارد. اطمینان حاصل کنید که مقدار قابل توجهی از کد در دسترس است تا قطعه کدهای مربوطه بازیابی شوند.
  • تکمیل کد بررسی می‌کند که آیا برای استفاده از عناصر خاصی از تابع، کتابخانه‌های مورد نیاز را دارید یا خیر.

برای اطلاعات بیشتر، به دریافت تکمیل کد مراجعه کنید.

زمینه مخزن از راه دور
  1. اعلان خود را با نماد @ شروع کنید. فهرستی از مخازن راه دور موجود که فهرست‌بندی شده‌اند، ظاهر می‌شود.
  2. مخزنی را که می‌خواهید برای زمینه استفاده کنید از لیست انتخاب کنید. همچنین می‌توانید برای فیلتر کردن لیست، شروع به تایپ نام مخزن کنید.
  3. پس از انتخاب مخزن، بقیه‌ی دستور خود را بنویسید.

موارد زیر را در نظر بگیرید:

  • در حالت عامل پشتیبانی نمی‌شود.
  • این زمانی مفید است که روی کاری کار می‌کنید که عمدتاً مربوط به مجموعه‌ای خاص از میکروسرویس‌ها، کتابخانه‌ها یا ماژول‌ها است.

برای اطلاعات بیشتر، به «دریافت پیشنهادهای مرتبط‌تر با زمینه مخزن راه دور» مراجعه کنید.

موارد استفاده و مثال‌های سریع

جدول زیر راهنمایی و مثال‌هایی در مورد استفاده از سفارشی‌سازی کد در موارد استفاده خاص ارائه می‌دهد:

مورد استفاده چیزهایی که ارزش امتحان کردن دارند
نوشتن کد جدید

برای تولید کد در IDE یا چت Gemini Code Assist خود، موارد زیر را امتحان کنید:

  • کدی تولید کنید که از اصطلاحاتی استفاده کند که قبلاً در پایگاه کد شما ذکر شده‌اند.
  • کد خود را، مانند یک امضای کاربردی یا کدی با توضیحات TODO ، در آن جایگذاری کنید و سپس از Gemini Code Assist بخواهید که توضیحات TODO را با کد پر یا جایگزین کند. توضیحات را با توضیح از متن اضافه کنید.

سعی کنید با استفاده از دستورات زیر در چت Gemini Code Assist کد تولید کنید:

  • «یک تابع اصلی بنویسید که در آن اتصال به DATABASE ایجاد شود. بررسی‌های سلامت را نیز در آن بگنجانید.»
  • یک FUNCTION_OR_CLASS با ساختار زیر بنویسید: EXPLAIN_STRUCTURE .

پس از تولید کد، سعی کنید از یک درخواست پیگیری برای بهبود آن استفاده کنید:

  • دستور /fix را برای تنظیم کد تولید شده - مثلاً خطاهای نحوی - امتحان کنید.
  • «واردات ناموجود را اضافه کنید.»
  • «کد تولید شده توسط چت را امتحان کنید /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 را نشان دهید؟»
  • «نحوه اجرای تابع main در محیط ENVIRONMENT_NAME را نشان دهید؟»
  • «چه پیشرفت فنی کلیدی می‌توانیم انجام دهیم تا این کد را کارآمدتر کنیم؟»
  • «برای دستیابی به نتایج بهتر، پیاده‌سازی FUNCTION_OR_CLASS_NAME را به من نشان دهید و عنصر خاص آن را اضافه کنید» - برای مثال، «پیاده‌سازی تابع foo را به من نشان دهید که در آن foo نام تابع است.»
مهاجرت

در چت Gemini Code Assist، مراحل زیر را امتحان کنید:

  • «برای اینکه بتوانم FILE_NAME از LANGUAGE_1 به LANGUAGE_2 منتقل کنم، یک استراتژی به من بدهید» — مثلاً از Go به Python.
  • «با توجه به تابع FUNCTION_NAME در مخزن REPOSITORY_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 بازیابی کنید، includeها یا importهایی در فایل داشته باشید .
  • برای هر اعلان فقط یک عمل انجام دهید. برای مثال، اگر می‌خواهید کدی را بازیابی کنید و این کد را در یک تابع جدید پیاده‌سازی کنید، این مراحل را روی دو اعلان انجام دهید.
  • برای مواردی که چیزی بیش از کد می‌خواهید (مانند توضیح کد، طرح مهاجرت یا توضیح خطا)، از سفارشی‌سازی کد برای چت استفاده کنید، جایی که با Gemini در مورد کدبیس خود در متن گفتگو می‌کنید.
  • توجه داشته باشید که تولید مدل هوش مصنوعی غیرقطعی است . اگر از پاسخ راضی نیستید، اجرای دوباره همان دستور ممکن است به نتیجه بهتری منجر شود.
  • توجه داشته باشید که تولید تست‌های واحد معمولاً در صورتی بهتر عمل می‌کند که فایل را به صورت محلی باز کنید و سپس از طریق چت، درخواست تولید تست‌های واحد برای این فایل یا یک تابع خاص را بدهید.

با استفاده از زمینه مخزن از راه دور، پیشنهادهای مرتبط‌تری دریافت کنید

شما می‌توانید با هدایت Gemini Code Assist به تمرکز روی مخازن راه دور خاص، پیشنهادهای کد مرتبط‌تر و آگاهانه‌تری دریافت کنید. با استفاده از نماد @ در چت، می‌توانید یک یا چند مخزن را به عنوان منبع اصلی زمینه برای درخواست‌های خود انتخاب کنید. این قابلیت زمانی مفید است که روی کاری کار می‌کنید که عمدتاً مربوط به مجموعه‌ای خاص از میکروسرویس‌ها، کتابخانه‌ها یا ماژول‌ها است.

برای استفاده از یک مخزن راه دور به عنوان context، این مراحل را در چت IDE خود دنبال کنید:

  1. اعلان خود را با نماد @ شروع کنید. لیستی از مخازن راه دور موجود که فهرست بندی شده اند ظاهر می شود.
  2. مخزنی را که می‌خواهید برای زمینه استفاده کنید از لیست انتخاب کنید. همچنین می‌توانید برای فیلتر کردن لیست، شروع به تایپ نام مخزن کنید.
  3. پس از انتخاب مخزن، بقیه‌ی دستور خود را بنویسید.

سپس Gemini هنگام تولید پاسخ، مخزن انتخاب شده را در اولویت قرار می‌دهد.

مثال‌های سریع

در اینجا چند نمونه از نحوه استفاده از این ویژگی آورده شده است:

  • برای درک یک مخزن:
    • ساختار کلی این مخزن REPOSITORY_NAME ؟
    • « @REPOSITORY_NAME من عضو جدید تیم هستم. می‌توانید خلاصه‌ای از هدف و ماژول‌های کلیدی این مخزن REPOSITORY_NAME به من ارائه دهید؟»
  • برای تولید و اصلاح کد:
    • " @REPOSITORY_NAME یک تابع احراز هویت مشابه آنچه در این مخزن وجود دارد REPOSITORY_NAME پیاده‌سازی کنید."
    • " @REPOSITORY_NAME کد زیر را طوری بازنویسی REPOSITORY_NAME که از قراردادهای موجود در مخزن انتخاب شده پیروی کند."
    • " @REPOSITORY_A_NAME چگونه می‌توانم از جدیدترین توابع این مخزن برای بهبود کد REPOSITORY_B_NAME REPOSITORY_A_NAME کنم؟"
  • برای آزمایش:
    • " @UNIT_TEST_FILE_NAME تست‌های واحد UNIT_TEST_FILE_NAME برای MODULE بر اساس مثال‌های موجود در فایل انتخاب شده تولید کن."

با استفاده از مخازن راه دور به عنوان یک منبع متمرکز از زمینه، می‌توانید پیشنهادهای دقیق‌تر و مرتبط‌تری از Gemini Code Assist دریافت کنید که می‌تواند به شما در کدنویسی سریع‌تر و کارآمدتر کمک کند.