Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dokumen ini menjelaskan cara menggunakan
penyesuaian kode Gemini Code Assist
dan memberikan beberapa praktik terbaik. Fitur ini memungkinkan Anda menerima rekomendasi kode, yang diambil dari library internal, API pribadi, dan gaya coding organisasi Anda.
Tabel berikut mencantumkan cara menggunakan penyesuaian kode Gemini Code Assist:
Formulir
Cara memicu
Catatan dan referensi
Chat dengan bahasa alami
Masukkan perintah natural language di chat Gemini Code Assist
di IDE.
Pertimbangkan hal berikut:
Histori chat tidak tersedia. Hindari kueri multi-langkah.
Anda dapat meminta detail lebih lanjut tentang sumber, termasuk link ke
sumber tertentu.
Jika Anda menandai atau memilih kode saat Anda mengirim pesan dalam chat,
Gemini Code Assist menggunakan kode tersebut untuk meningkatkan kualitas chat dan penyesuaian kode.
Penyesuaian kode dipicu secara otomatis dan memberikan
saran berdasarkan apa yang Anda tulis.
Pertimbangkan hal berikut:
Penyelesaian kode memerlukan tingkat keyakinan tertentu untuk menyarankan
saran. Pastikan sejumlah besar kode tersedia
sehingga cuplikan yang relevan dapat diambil.
Penyelesaian kode akan memeriksa apakah Anda memiliki library yang diperlukan untuk
menggunakan elemen fungsi tertentu.
Tabel berikut memberikan panduan dan contoh tentang penggunaan penyesuaian kode dalam kasus penggunaan tertentu:
Kasus penggunaan
Hal-hal yang patut dicoba
Menulis kode baru
Coba langkah-langkah berikut untuk membuat kode di IDE atau chat Gemini Code Assist:
Buat kode yang akan menggunakan istilah yang sudah disebutkan
dalam codebase Anda.
Tempelkan kode Anda, seperti tanda tangan fungsional atau kode dengan
komentar TODO, lalu minta
Gemini Code Assist untuk mengisi atau mengganti
komentar TODO dengan kode. Tambahkan komentar dengan penjelasan
dari konteks.
Coba buat kode dengan perintah berikut di chat Gemini Code Assist:
"Tulis fungsi utama tempat koneksi ke
DATABASE dibuat. Sertakan health
check."
"Tulis FUNCTION_OR_CLASS dalam
struktur berikut:
EXPLAIN_STRUCTURE."
Setelah Anda membuat beberapa kode, coba gunakan perintah lanjutan untuk
memperbaikinya:
"Coba perintah /fix untuk menyesuaikan kode yang dihasilkan—misalnya, error sintaksis."
"Tambahkan impor yang tidak ada".
"Coba /fix pada kode yang dibuat chat."
Membersihkan, menyederhanakan, dan memfaktorkan ulang kode
Coba perintah berikut di chat Gemini Code Assist:
"Dapatkah Anda menggabungkan
IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS
dalam file ini?"
"Bagaimana cara menyederhanakan fungsi
FUNCTION_NAME?"
"Dapatkah Anda menggabungkan FUNCTION_NAME_1 dan
FUNCTION_NAME_2 menjadi satu fungsi?"
"Dapatkah Anda menyisipkan beberapa variabel dalam
FUNCTION_NAME?"
"Bisakah Anda menyederhanakan penamaan variabel dalam fungsi
FUNCTION_NAME?"
Keterbacaan
Coba perintah berikut di chat Gemini Code Assist:
"Tulis fungsi FUNCTION_NAME dalam
baris kode yang lebih sedikit, jika memungkinkan."
"Tambahkan komentar ke fungsi
FUNCTION_NAME."
"Hapus spasi yang tidak diperlukan dalam fungsi
FUNCTION_NAME."
"Format fungsi FUNCTION_NAME dengan cara yang sama seperti kode lainnya."
Peninjauan kode
Coba perintah berikut di chat Gemini Code Assist:
"Pisahkan kode menjadi beberapa bagian dan jelaskan setiap bagian menggunakan codebase kami."
"Apakah ada variabel atau kata kunci yang bisa lebih singkat dan lebih
jelas?"
"Can you give me useful code from the
REPOSITORY_NAME_PACKAGE_MODULE context for
this code?"
"Apa pendapat Anda tentang fungsi
FUNCTION_NAME?"
Proses Debug
Coba perintah berikut di chat Gemini Code Assist:
"Saya mendapatkan pesan error saat mencoba melakukan X/menambahkan Y. Mengapa?"
"Dapatkah Anda menemukan error dalam fungsi
FUNCTION_NAME?"
"Bagaimana cara memperbaiki fungsi
FUNCTION_NAME mengingat pesan error
ini?"
Pembelajaran dan orientasi
Coba perintah berikut di chat Gemini Code Assist:
"Split this code in parts and explain each of them using our
codebase." (Pisahkan kode ini menjadi beberapa bagian dan jelaskan setiap bagiannya menggunakan codebase kami.)
"Tunjukkan cara memanggil fungsi
FUNCTION_NAME?"
"Tunjukkan cara menjalankan fungsi utama di lingkungan
ENVIRONMENT_NAME?"
"What is the key technical improvement we can do to make this
code more performant?" (Apa peningkatan teknis utama yang dapat kami lakukan untuk membuat kode ini berperforma lebih baik?)
"Tunjukkan kepada saya penerapan
FUNCTION_OR_CLASS_NAME untuk mendapatkan hasil yang lebih baik
dan tambahkan elemen spesifik tersebut"—misalnya,
"Tunjukkan kepada saya penerapan fungsi foo di mana foo adalah nama
fungsi."
Migrasi
Coba perintah berikut di chat Gemini Code Assist:
"Beri saya strategi tentang cara memigrasikan
FILE_NAME dari
LANGUAGE_1 ke
LANGUAGE_2"—misalnya, dari Go ke
Python.
"Mengingat fungsi FUNCTION_NAME di
repositori REPOSITORY_NAME, temukan fungsi
yang setara dalam bahasa
LANGUAGE_NAME yang dapat saya gunakan."
Coba alur kerja transformasi berbasis chat atau pembuatan kode berikut
menggunakan perintah:
"Ambil kode FILENAME_COMPONENT yang
sudah ditulis dalam LANGUAGE_1, lalu refaktorkan
dan migrasikan ke LANGUAGE_2"—misalnya,
dari Go ke Python.
Setelah Anda memigrasikan beberapa kode, coba lakukan hal berikut:
Pilih bagian yang lebih kecil dan gunakan /fix untuk
mendapatkannya ke status yang Anda inginkan.
Coba perintah berikut:
"Apakah ada hal yang dapat ditingkatkan?"
"Berikan kemungkinan kendala yang akan dihadapi pengguna."
"Bagaimana Anda akan menguji kode ini jika migrasi tersebut benar?"
Membuat dokumentasi
Coba perintah berikut di chat Gemini Code Assist:
"Ringkas kode dalam paket atau folder
X dan berikan dokumentasi untuk lima
metode penting teratas."
"Buat dokumentasi untuk
FUNCTION_OR_CLASS_NAME."
"Memperpendek dokumentasi sambil mempertahankan informasi penting."
Pembuatan pengujian unit
Coba perintah berikut di chat Gemini Code Assist:
"Buat pengujian unit untuk FILENAME."
"Tambahkan kasus pengujian yang paling relevan untuk
fungsi FUNCTION_NAME."
"Hapus kasus pengujian yang menurut Anda tidak memberikan banyak nilai."
Praktik terbaik
Gunakan nama variabel dan fungsi atau cuplikan kode yang relevan. Panduan ini mengarahkan penyesuaian kode ke contoh kode yang paling relevan.
Gunakan repositori indeks yang ingin Anda skalakan, dan hindari penambahan fungsi yang tidak digunakan lagi. Penyesuaian kode membantu menskalakan gaya kode, pola, semantik kode, pengetahuan, dan penerapan di seluruh codebase.
Contoh buruk repositori untuk menskalakan adalah fungsi yang tidak digunakan lagi, kode yang dihasilkan, dan penerapan lama.
Untuk kasus penggunaan pengambilan kode, gunakan fungsi pembuatan kode, bukan
penyelesaian kode. Perintah menggunakan bahasa seperti "Dengan menggunakan definisi
FUNCTION_NAME, buat fungsi yang persis sama", atau
"Buat penerapan FUNCTION_NAME yang persis sama".
Memiliki include atau impor yang ada dalam file untuk kode yang ingin Anda
ambil guna meningkatkan kesadaran kontekstual Gemini.
Hanya lakukan satu tindakan untuk setiap perintah. Misalnya, jika Anda ingin mengambil kode dan kode ini diterapkan dalam fungsi baru, lakukan langkah-langkah ini melalui dua perintah.
Untuk kasus penggunaan yang menginginkan lebih dari sekadar kode (seperti penjelasan kode, rencana migrasi, atau penjelasan error), gunakan penyesuaian kode untuk chat, tempat Anda melakukan percakapan dengan Gemini dengan codebase Anda dalam konteks.
Perhatikan bahwa pembuatan model AI bersifat non-deterministik. Jika Anda tidak puas dengan responsnya, menjalankan perintah yang sama lagi dapat memberikan hasil yang lebih baik.
Perhatikan bahwa pembuatan pengujian unit umumnya berfungsi lebih baik jika Anda membuka file secara lokal, lalu dari chat, minta untuk membuat pengujian unit untuk file ini atau fungsi tertentu.
Mendapatkan saran yang lebih relevan dengan konteks repositori jarak jauh
Anda bisa mendapatkan saran kode yang lebih relevan dan sesuai konteks dengan mengarahkan Gemini Code Assist untuk berfokus pada repositori jarak jauh tertentu. Dengan menggunakan simbol @ dalam chat, Anda dapat memilih satu atau beberapa repositori untuk digunakan sebagai sumber utama konteks untuk perintah Anda. Hal ini berguna saat Anda mengerjakan tugas yang sebagian besar terkait dengan serangkaian microservice, library, atau modul tertentu.
Untuk menggunakan repositori jarak jauh sebagai konteks, ikuti langkah-langkah berikut dalam chat IDE Anda:
Mulai perintah Anda dengan simbol @. Daftar repositori jarak jauh yang tersedia dan diindeks akan muncul.
Pilih repositori yang ingin Anda gunakan untuk konteks dari daftar. Anda juga dapat mulai mengetik nama repositori untuk memfilter daftar.
Setelah memilih repositori, tulis perintah Anda.
Kemudian, Gemini akan memprioritaskan repositori yang dipilih saat membuat respons.
Contoh Perintah
Berikut beberapa contoh cara menggunakan fitur ini:
Untuk memahami repositori:
"@REPOSITORY_NAME Apa struktur keseluruhan repositori ini?"
"@REPOSITORY_NAME Saya anggota tim baru. Bisakah Anda memberi saya ringkasan tentang tujuan dan modul utama repositori ini?"
Untuk pembuatan dan modifikasi kode:
"@REPOSITORY_NAME Terapkan fungsi autentikasi yang serupa dengan yang ada di repositori ini."
"@REPOSITORY_NAME Lakukan refaktor pada kode berikut agar mengikuti konvensi di repositori yang dipilih."
"@REPOSITORY_A_NAME Bagaimana cara menggunakan fungsi terbaru dari repositori ini untuk meningkatkan kualitas kode saya di REPOSITORY_B_NAME?"
Untuk pengujian:
"@UNIT_TEST_FILE_NAME Buat pengujian unit untuk MODULE berdasarkan contoh dalam file yang dipilih."
Dengan menggunakan repositori jarak jauh sebagai sumber konteks yang terfokus, Anda bisa mendapatkan saran yang lebih akurat dan relevan dari Gemini Code Assist, yang dapat membantu Anda menulis kode dengan lebih cepat dan efisien.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[[["\u003cp\u003eGemini Code Assist code customization allows users to receive tailored code recommendations based on their organization's internal libraries, private APIs, and coding style, but is exclusive to the Enterprise subscription.\u003c/p\u003e\n"],["\u003cp\u003eCode customization can be triggered via natural language chat, code generation, code transformation, and autocomplete features within the IDE.\u003c/p\u003e\n"],["\u003cp\u003eThe tool can be used for various coding tasks, including writing new code, refactoring, improving readability, code review, debugging, learning, migration, documentation generation, and unit test generation.\u003c/p\u003e\n"],["\u003cp\u003eBest practices include using relevant variable and function names, avoiding deprecated code in indexed repositories, utilizing code generation for code retrieval, and ensuring necessary includes or imports are present in the file.\u003c/p\u003e\n"],["\u003cp\u003eWhen seeking explanations, migration plans, or error insights, leveraging the chat feature for conversations within the context of the codebase is recommended.\u003c/p\u003e\n"]]],[],null,["# Use Gemini Code Assist code customization\n\n| **Note:** Gemini Code Assist code customization is available only in Gemini Code Assist Enterprise. For more information, see [Gemini Code Assist supported features](/gemini/docs/codeassist/overview#supported-features).\n\nThis document describes how to use\n\n[Gemini Code Assist code customization](/gemini/docs/codeassist/code-customization-overview)\n\nand provides a few best practices. This feature lets you receive code\nrecommendations, which draw from the internal libraries, private APIs, and the\ncoding style of your organization.\n\nBefore you begin\n----------------\n\n1. [Set up Gemini Code Assist](/gemini/docs/discover/set-up-gemini) with an [Enterprise subscription](/gemini/docs/codeassist/overview#supported-features).\n2. [Set up Gemini Code Assist code customization](/gemini/docs/codeassist/code-customization-console).\n\nHow to use code customization\n-----------------------------\n\nThe following table lists ways to use\nGemini Code Assist code customization:\n\nUse cases and prompt examples\n-----------------------------\n\nThe following table provides guidance and examples about using\ncode customization in specific use cases:\n\nBest practices\n--------------\n\n- **Use relevant variable and function names or code snippets.** This guides code customization towards the most pertinent code examples.\n- **Use index repositories that you want to scale, and avoid adding deprecated\n functionality.** Code customization helps to scale to the code style, patterns, code semantics, knowledge, and implementations across the codebase. Bad examples of repositories to scale are deprecated functionalities, generated code, and legacy implementations.\n- **For code retrieval use cases, use code generation functionality instead of\n code completion** . Prompt using language such as \"Using the definition of \u003cvar translate=\"no\"\u003eFUNCTION_NAME\u003c/var\u003e, generate the exact same function,\" or \"Generate the exact implementation of \u003cvar translate=\"no\"\u003eFUNCTION_NAME\u003c/var\u003e.\"\n- **Have includes or imports present in the file for the code that you want to\n retrieve** to improve Gemini contextual awareness.\n- **Execute only one action for each prompt.** For example, if you want to retrieve code and have this code be implemented in a new function, perform these steps over two prompts.\n- **For use cases where you want more than just code** (such as code explanation, migration plan, or error explanation), use code customization for chat, where you have a conversation with Gemini with your codebase in context.\n- **Note that AI model generation is non-deterministic**. If you aren't satisfied with the response, executing the same prompt again might achieve a better result.\n- **Note that generating unit tests** generally works better if you open the file locally, and then from chat, ask to generate unit tests for this file or a specific function.\n\n### **Get more relevant suggestions with remote repository context**\n\nYou can get more contextually aware and relevant code suggestions by directing Gemini Code Assist to focus on specific remote repositories. By using the \u003ckbd\u003e@\u003c/kbd\u003e symbol in the chat, you can select one or more repositories to be used as a primary source of context for your prompts. This is useful when you are working on a task that is mostly related to a specific set of microservices, libraries, or modules.\n\nTo use a remote repository as context, follow these steps in your IDE's chat:\n\n1. Start your prompt with the \u003ckbd\u003e@\u003c/kbd\u003e symbol. A list of available remote repositories that are indexed will appear.\n2. Select the repository you want to use for context from the list. You can also start typing the repository name to filter the list.\n3. After selecting the repository, write the rest of your prompt.\n\nGemini will then prioritize the selected repository when generating a response.\n\n#### **Example Prompts**\n\nHere are some examples of how you can use this feature:\n\n- **To understand a repository:**\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e What is the overall structure of this repository?\"\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e I'm a new team member. Can you give me an overview of this repository's purpose and key modules?\"\n- **For code generation and modification:**\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e Implement an authentication function similar to the one in this repository.\"\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_NAME\u003c/var\u003e Refactor the following code to follow the conventions in the selected repository.\"\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eREPOSITORY_A_NAME\u003c/var\u003e How can I use the latest functions from this repository to improve my code in \u003cvar translate=\"no\"\u003eREPOSITORY_B_NAME\u003c/var\u003e?\"\n- **For testing:**\n - \"\u003ckbd\u003e@\u003c/kbd\u003e\u003cvar translate=\"no\"\u003eUNIT_TEST_FILE_NAME\u003c/var\u003e Generate unit tests for \u003cvar translate=\"no\"\u003eMODULE\u003c/var\u003e based on the examples in the selected file.\"\n\nBy using remote repositories as a focused source of context, you can get more accurate and relevant suggestions from Gemini Code Assist, which can help you code faster and more efficiently."]]