Use a personalização de código do Gemini Code Assist
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Este documento descreve como usar a personalização de código do Gemini Code Assist e fornece algumas práticas recomendadas. Este recurso permite que você receba recomendações de código, baseadas em bibliotecas internas, APIs privadas e no estilo de codificação da sua organização.
A tabela a seguir lista maneiras de usar a personalização de código do Gemini Code Assist:
Forma
Como acionar
Notas e recursos
Bate-papo em linguagem natural
Insira um prompt de linguagem natural no chat do Gemini Code Assist no IDE.
Considere o seguinte:
O histórico de bate-papo não está disponível. Evite consultas em várias etapas.
Você pode solicitar mais detalhes sobre as fontes, incluindo links para fontes específicas.
Se você destacar ou selecionar um código ao enviar uma mensagem no chat, o Gemini Code Assist usará esse código para melhorar a personalização do código e a qualidade do chat.
A personalização do código é acionada automaticamente e fornece sugestões com base no que você escreve.
Considere o seguinte:
A complementação de código exige um certo nível de confiança para propor uma sugestão. Certifique-se de que uma quantidade substancial de código esteja disponível para que trechos relevantes sejam recuperados.
A conclusão de código verifica se você tem bibliotecas necessárias para usar determinados elementos da função.
A tabela a seguir fornece orientação e exemplos sobre o uso da personalização de código em casos de uso específicos:
Caso de uso
Coisas que valem a pena tentar
Escrevendo novo código
Tente o seguinte para gerar código no seu IDE ou no chat do Gemini Code Assist:
Gere código que use termos já mencionados na sua base de código.
Cole seu código, como uma assinatura funcional ou código com comentários TODO , e peça ao Gemini Code Assist para preencher ou substituir os comentários TODO pelo código. Adicione comentários com explicações contextualizadas.
Tente gerar código com os seguintes prompts no chat do Gemini Code Assist:
Escreva uma função principal onde uma conexão com DATABASE seja criada. Inclua verificações de integridade.
Escreva uma FUNCTION_OR_CLASS na seguinte estrutura: EXPLAIN_STRUCTURE .
Depois de gerar algum código, tente usar um prompt de acompanhamento para melhorá-lo:
"Experimente o comando /fix para ajustar o código gerado — por exemplo, erros de sintaxe."
"Adicionar importações ausentes."
"Tente /fix no código gerado pelo chat."
Limpeza, simplificação e refatoração de código
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Você pode mesclar IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS neste arquivo?"
"Como você simplificaria a função FUNCTION_NAME ?"
"Você pode mesclar FUNCTION_NAME_1 e FUNCTION_NAME_2 em uma função?"
"Você poderia incorporar algumas variáveis em FUNCTION_NAME ?"
"Você poderia simplificar a nomenclatura de variáveis na função FUNCTION_NAME ?"
Legibilidade
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Escreva a função FUNCTION_NAME em menos linhas de código, se possível."
"Adicione comentários à função FUNCTION_NAME ."
"Remova espaços em branco desnecessários na função FUNCTION_NAME ."
"Formate a função FUNCTION_NAME de maneira semelhante ao restante do código."
Revisão de código
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Divida o código em partes e explique cada parte usando nossa base de código."
"Existem variáveis ou palavras-chave que poderiam ser mais curtas e autoexplicativas?"
"Você pode me dar um código útil do contexto REPOSITORY_NAME_PACKAGE_MODULE para este código?"
"O que você acha da função FUNCTION_NAME ?"
Depuração
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Estou recebendo um erro quando tento fazer X/adicionar Y. Por quê?"
"Você consegue identificar um erro na função FUNCTION_NAME ?"
"Como você corrigiria a função FUNCTION_NAME dada esta mensagem de erro?"
Aprendizagem e integração
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Divida este código em partes e explique cada uma delas usando nossa base de código."
"Mostrar como chamar a função FUNCTION_NAME ?"
"Mostrar como executar a função principal no ambiente ENVIRONMENT_NAME ?"
"Qual é a principal melhoria técnica que podemos fazer para tornar esse código mais performático?"
"Mostre-me a implementação de FUNCTION_OR_CLASS_NAME para obter melhores resultados e adicione o que é esse elemento específico" — por exemplo, "Mostre-me a implementação da função foo, onde foo é o nome da função."
Migração
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Dê-me uma estratégia de como posso migrar FILE_NAME de LANGUAGE_1 para LANGUAGE_2 " — por exemplo, de Go para Python.
"Dada a função FUNCTION_NAME no repositório REPOSITORY_NAME , encontre uma função equivalente na linguagem LANGUAGE_NAME que eu possa usar."
Experimente o seguinte fluxo de trabalho de transformação baseado em chat ou geração de código usando prompts:
"Pegue o código FILENAME_COMPONENT já escrito em LANGUAGE_1 , refatore e migre-o para LANGUAGE_2 " — por exemplo, de Go para Python.
Depois de migrar algum código, tente o seguinte:
Selecione pedaços menores e use /fix para deixá-los no estado desejado.
Tente as seguintes instruções:
"Há algo que pode ser melhorado?"
"Dê-me possíveis pontos problemáticos."
"Como você testaria esse código se essa migração estiver correta?"
Gerando documentação
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Resuma o código no pacote ou pasta X e forneça documentação para os cinco principais métodos importantes."
"Gerar documentação para FUNCTION_OR_CLASS_NAME ."
"Encurte a documentação, preservando as informações principais."
Geração de testes unitários
Experimente os seguintes prompts no chat do Gemini Code Assist:
"Gerar testes unitários para FILENAME ."
"Adicione os casos de teste mais relevantes para a função FUNCTION_NAME ."
"Remova casos de teste que você acha que não trazem muito valor."
Melhores práticas
Use nomes de variáveis e funções relevantes ou trechos de código. Isso direciona a personalização do código para os exemplos mais pertinentes.
Use repositórios de índice que você deseja escalar e evite adicionar funcionalidades obsoletas. A personalização do código ajuda a escalar de acordo com o estilo, os padrões, a semântica, o conhecimento e as implementações do código em toda a base de código. Exemplos ruins de repositórios para escalar são funcionalidades obsoletas, código gerado e implementações legadas.
Para casos de uso de recuperação de código, utilize a funcionalidade de geração de código em vez da funcionalidade de autocompletar código . Use a linguagem "Usando a definição de FUNCTION_NAME , gere exatamente a mesma função" ou "Gere a implementação exata de FUNCTION_NAME ".
Tenha inclusões ou importações presentes no arquivo para o código que você deseja recuperar para melhorar a conscientização contextual do Gemini.
Execute apenas uma ação para cada prompt. Por exemplo, se você quiser recuperar código e implementá-lo em uma nova função, execute estas etapas em dois prompts.
Para casos de uso em que você deseja mais do que apenas código (como explicação de código, plano de migração ou explicação de erro), use a personalização de código para bate-papo, onde você tem uma conversa com o Gemini com sua base de código em contexto.
Observe que a geração do modelo de IA é não determinística . Se você não estiver satisfeito com a resposta, executar o mesmo prompt novamente pode gerar um resultado melhor.
Observe que a geração de testes unitários geralmente funciona melhor se você abrir o arquivo localmente e, em seguida, no chat, solicitar a geração de testes unitários para esse arquivo ou uma função específica.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-06-11 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."]]