Utilizzare la personalizzazione del codice di Gemini Code Assist
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo documento descrive come utilizzare
la personalizzazione del codice di Gemini Code Assist
e fornisce alcune best practice. Questa funzionalità ti consente di ricevere suggerimenti sul codice
che si basano sulle librerie interne, sulle API private e sullo
stile di programmazione della tua organizzazione.
La tabella seguente elenca i modi per utilizzare
la personalizzazione del codice di Gemini Code Assist:
Modulo
Come attivare
Note e risorse
Chat in linguaggio naturale
Inserisci un prompt in linguaggio naturale nella chat di Gemini Code Assist nell'IDE.
Considera quanto segue:
La cronologia chat non è disponibile. Evita le query in più passaggi.
Puoi chiedere maggiori dettagli sulle fonti, inclusi i link alle
fonti specifiche.
Se evidenzi o selezioni il codice quando invii un messaggio nella chat,
Gemini Code Assist utilizza questo codice per migliorare la personalizzazione del codice e la qualità della chat.
La personalizzazione del codice viene attivata automaticamente e fornisce
suggerimenti in base a ciò che scrivi.
Considera quanto segue:
Il completamento del codice richiede un certo livello di confidenza per proporre un
suggerimento. Assicurati che sia disponibile una quantità significativa di codice
in modo che vengano recuperati gli snippet pertinenti.
Il completamento del codice verifica se hai le librerie richieste per utilizzare determinati elementi della funzione.
La tabella seguente fornisce indicazioni ed esempi sull'utilizzo
della personalizzazione del codice in casi d'uso specifici:
Caso d'uso
Cose da provare
Scrittura di nuovo codice
Prova a fare quanto segue per generare codice nel tuo IDE o
nella chat di Gemini Code Assist:
Genera codice che utilizzi termini già menzionati
nel tuo codebase.
Incolla il codice, ad esempio una firma funzionale o un codice con
commenti TODO, quindi chiedi
a Gemini Code Assist di compilare o sostituire
i commenti TODO con il codice. Aggiungi commenti con spiegazione
dal contesto.
Prova a generare codice con i seguenti prompt nella
chat di Gemini Code Assist:
"Scrivi una funzione principale in cui viene creata una connessione a
DATABASE. Includi i controlli
di integrità".
"Scrivi un FUNCTION_OR_CLASS nella
seguente struttura:
EXPLAIN_STRUCTURE."
Dopo aver generato del codice, prova a utilizzare un prompt di follow-up per migliorarlo:
"Prova il comando /fix per modificare il codice
generato, ad esempio gli errori di sintassi."
"Aggiungi importazioni mancanti".
"Prova /fix sul codice generato dalla chat."
Pulizia, semplificazione e refactoring del codice
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Puoi unire
IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS
in questo file?"
"Come semplificheresti la
funzione FUNCTION_NAME?"
"Puoi unire FUNCTION_NAME_1 e
FUNCTION_NAME_2 in un'unica funzione?"
"Potresti incorporare alcune variabili in
FUNCTION_NAME?"
"Potresti semplificare la denominazione delle variabili nella funzione
FUNCTION_NAME?"
Leggibilità
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Scrivi la funzione FUNCTION_NAME in
meno righe di codice, se possibile."
"Aggiungi commenti alla funzione
FUNCTION_NAME."
"Rimuovi gli spazi bianchi non necessari nella funzione
FUNCTION_NAME."
"Formatta la funzione FUNCTION_NAME in modo
simile al resto del codice."
Revisione del codice
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Dividi il codice in parti e spiega ogni parte utilizzando il nostro
codebase."
"Esistono variabili o parole chiave che potrebbero essere più brevi e più
autoesplicative?"
"Puoi darmi un codice utile dal contesto
REPOSITORY_NAME_PACKAGE_MODULE per
questo codice?"
"Cosa pensi della funzione
FUNCTION_NAME?"
Debug
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Ricevo un errore quando provo a eseguire X/aggiungere Y. Perché?"
"Riesci a individuare un errore nella funzione
FUNCTION_NAME?"
"Come risolveresti il problema della funzione
FUNCTION_NAME dato questo messaggio
di errore?"
Apprendimento e onboarding
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Dividi questo codice in parti e spiega ciascuna di esse utilizzando il nostro
codebase."
"Mostra come chiamare la funzione
FUNCTION_NAME?"
"Mostra come eseguire la funzione principale nell'ambiente
ENVIRONMENT_NAME?"
"Qual è il miglioramento tecnico chiave che possiamo apportare per rendere questo
codice più efficiente?"
"Mostrami l'implementazione di
FUNCTION_OR_CLASS_NAME per ottenere risultati migliori
e aggiungi cos'è questo elemento specifico", ad esempio,
"Mostrami l'implementazione della funzione foo, dove foo è il nome
della funzione".
Migrazione
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Dammi una strategia per eseguire la migrazione
di FILE_NAME da
LANGUAGE_1 a
LANGUAGE_2", ad esempio da Go a
Python.
"Data la funzione FUNCTION_NAME nel
repository REPOSITORY_NAME, trova una
funzione equivalente nel linguaggio
LANGUAGE_NAME che posso utilizzare."
Prova il seguente flusso di lavoro di trasformazione basato sulla chat o sulla generazione di codice
utilizzando i prompt:
"Prendi il codice FILENAME_COMPONENT
già scritto in LANGUAGE_1 e refactor
e migralo a LANGUAGE_2", ad esempio,
da Go a Python.
Dopo aver eseguito la migrazione di parte del codice, prova a effettuare le seguenti operazioni:
Seleziona blocchi più piccoli e utilizza /fix per
portarli allo stato che preferisci.
Prova i seguenti prompt:
"C'è qualcosa che può essere migliorato?"
"Dammi possibili pain point."
"Come testeresti questo codice se la migrazione è
corretta?"
Generazione della documentazione in corso
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Riassumi il codice nel pacchetto o nella cartella
X e fornisci la documentazione per i primi cinque
metodi importanti."
"Genera la documentazione per
FUNCTION_OR_CLASS_NAME."
"Abbrevia la documentazione mantenendo le informazioni
chiave."
Generazione di test delle unità
Prova i seguenti prompt nella chat di Gemini Code Assist:
"Genera test unitari per FILENAME."
"Aggiungi gli scenari di test più pertinenti per la funzione
FUNCTION_NAME."
"Rimuovi gli scenari di test che ritieni non apportino molto valore."
Best practice
Utilizza nomi di variabili e funzioni o snippet di codice pertinenti. Questa guida
alla personalizzazione del codice ti indirizza verso gli esempi di codice più pertinenti.
Utilizza i repository di indici che vuoi scalare ed evita di aggiungere funzionalità
ritirate. La personalizzazione del codice consente di scalare lo stile del codice,
i pattern, la semantica, le conoscenze e le implementazioni del codice in tutto il codebase.
Esempi negativi di repository da scalare sono funzionalità ritirate, codice generato e implementazioni legacy.
Per i casi d'uso di recupero del codice, utilizza la funzionalità di generazione del codice anziché il
completamento del codice. Prompt che utilizzano un linguaggio come "Utilizzando la definizione di
FUNCTION_NAME, genera esattamente la stessa funzione" o
"Genera l'implementazione esatta di FUNCTION_NAME".
Avere include o importazioni presenti nel file per il codice che vuoi recuperare per migliorare la consapevolezza contestuale di Gemini.
Esegui una sola azione per ogni prompt. Ad esempio, se vuoi recuperare il codice e implementarlo in una nuova funzione, esegui questi passaggi in due prompt.
Per i casi d'uso in cui vuoi qualcosa di più del semplice codice (ad esempio spiegazione del codice, piano di migrazione o spiegazione dell'errore), utilizza la personalizzazione del codice per la chat, in cui puoi conversare con Gemini con la tua codebase nel contesto.
Tieni presente che la generazione di modelli di AI non è deterministica. Se non sei
soddisfatto della risposta, l'esecuzione dello stesso prompt potrebbe portare a un
risultato migliore.
Tieni presente che la generazione di test delle unità in genere funziona meglio se apri il file localmente e poi, dalla chat, chiedi di generare test delle unità per questo file o per una funzione specifica.
Ricevi suggerimenti più pertinenti con il contesto del repository remoto
Puoi ottenere suggerimenti di codice più pertinenti e consapevoli del contesto indirizzando Gemini Code Assist a concentrarsi su repository remoti specifici. Utilizzando il simbolo @ nella chat, puoi selezionare uno o più repository da utilizzare come fonte principale di contesto per i tuoi prompt. Questa opzione è utile quando lavori a un'attività principalmente correlata a un insieme specifico di microservizi, librerie o moduli.
Per utilizzare un repository remoto come contesto, segui questi passaggi nella chat dell'IDE:
Inizia il prompt con il simbolo @. Viene visualizzato un elenco di repository remoti disponibili indicizzati.
Seleziona il repository da utilizzare per il contesto dall'elenco. Puoi anche iniziare a digitare il nome del repository per filtrare l'elenco.
Dopo aver selezionato il repository, scrivi il resto del prompt.
Gemini darà la priorità al repository selezionato durante la generazione di una risposta.
Prompt di esempio
Ecco alcuni esempi di come puoi utilizzare questa funzionalità:
Per comprendere un repository:
"@REPOSITORY_NAME Qual è la struttura complessiva di questo repository?"
"@REPOSITORY_NAME Sono un nuovo membro del team. Puoi darmi una panoramica dello scopo e dei moduli chiave di questo repository?"
Per la generazione e la modifica del codice:
"@REPOSITORY_NAME Implementa una funzione di autenticazione simile a quella in questo repository."
"@REPOSITORY_NAME Rimodella il seguente codice in modo che segua le convenzioni nel repository selezionato."
"@REPOSITORY_A_NAME Come posso utilizzare le ultime funzioni di questo repository per migliorare il mio codice in REPOSITORY_B_NAME?"
Per i test:
"@UNIT_TEST_FILE_NAME Genera test delle unità per MODULE in base agli esempi nel file selezionato."
Utilizzando i repository remoti come fonte mirata di contesto, puoi ottenere suggerimenti più accurati e pertinenti da Gemini Code Assist, che può aiutarti a scrivere codice in modo più rapido ed efficiente.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]