Usar 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.
Neste documento, descrevemos como usar a
personalização de código do Gemini Code Assist
e apresentamos algumas práticas recomendadas. Com esse recurso, você recebe recomendações
de código que usam as bibliotecas internas, APIs private e o estilo de programação da organização.
A tabela a seguir lista maneiras de usar
a personalização de código do Gemini Code Assist:
Formulário
Como acionar
Observações e recursos
Conversa com linguagem natural
Insira um comando de linguagem natural na conversa do Gemini Code Assist
no ambiente de desenvolvimento integrado.
Considere o seguinte:
O histórico de conversa não está disponível. Evite consultas com várias etapas.
Você pode pedir mais detalhes sobre as fontes, incluindo links para
fontes específicas.
Se você destacar ou selecionar um código ao enviar uma mensagem na conversa,
o Gemini Code Assist vai usar esse código para melhorar a personalização
e a qualidade da conversa.
A personalização de código é acionada automaticamente e oferece
sugestões com base no que você escreve.
Considere o seguinte:
O preenchimento de código precisa de um certo nível de confiança para propor uma
sugestão. Verifique se uma quantidade considerável de código está disponível
para que snippets relevantes sejam recuperados.
A conclusão de código verifica se você tem as bibliotecas necessárias para
usar determinados elementos da função.
A tabela a seguir oferece orientações e exemplos sobre como usar
a personalização de código em casos de uso específicos:
Caso de uso
O que vale a pena tentar
Escrever códigos novos
Para gerar código no ambiente de desenvolvimento integrado ou
conversa do Gemini Code Assist, faça o seguinte:
Gere código que usaria termos já mencionados
na base de código.
Cole seu código, como uma assinatura funcional ou um código com
comentários TODO, e peça para o
Gemini Code Assist preencher ou substituir
comentários TODO com código. Adicionar comentários com explicação
do contexto.
Tente gerar código com os seguintes comandos na
conversa do Gemini Code Assist:
"Escreva uma função principal em que uma conexão com
DATABASE seja criada. Inclua verificações
de integridade".
"Escreva um FUNCTION_OR_CLASS na
seguinte estrutura:
EXPLAIN_STRUCTURE."
Depois de gerar um código, use um comando complementar para
melhorá-lo:
"Tente usar o comando /fix para ajustar o código gerado,
por exemplo, erros de sintaxe."
"Adicione importações ausentes".
"Teste /fix no código gerado pela conversa."
Limpar, simplificar e refatorar o código
Teste os seguintes comandos na conversa 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 só função?"
"Você pode inserir algumas variáveis em
FUNCTION_NAME?"
"Você pode simplificar a nomenclatura de variáveis na função
FUNCTION_NAME?"
Legibilidade
Teste os seguintes comandos na conversa 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
Teste os seguintes comandos na conversa do
Gemini Code Assist:
"Divida o código em partes e explique cada uma delas usando nossa
base de código."
"Há 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
Teste os seguintes comandos na conversa do
Gemini Code Assist:
"Recebo um erro quando tento fazer X/adicionar Y. Por quê?"
"Você poderia indicar um erro na função
FUNCTION_NAME?"
"Como você corrigiria a função
FUNCTION_NAME considerando esta mensagem
de erro?"
Aprendizado e integração
Teste os seguintes comandos na conversa do
Gemini Code Assist:
"Divida este código em partes e explique cada uma delas usando nosso
base de código."
"Mostre como chamar a função
FUNCTION_NAME?"
"Mostre 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 eficiente?"
"Mostre a implementação de
FUNCTION_OR_CLASS_NAME para alcançar melhores
resultados e adicione o que esse elemento específico é". Por exemplo,
"Mostre a implementação da função foo, em que foo é o nome
da função".
Migração
Teste os seguintes comandos na conversa do
Gemini Code Assist:
"Me dê uma estratégia para migrar
FILE_NAME de
LANGUAGE_1 para
LANGUAGE_2", por exemplo, de Go para
Python.
"Considerando a função FUNCTION_NAME no
repositório REPOSITORY_NAME, encontre uma
função equivalente na linguagem
LANGUAGE_NAME que eu possa usar."
Teste o seguinte fluxo de trabalho de transformação
baseado em conversa ou geração de código usando comandos:
"Pegue o código FILENAME_COMPONENT
já escrito em LANGUAGE_1, refatore
e migre para LANGUAGE_2", por exemplo,
de Go para Python.
Depois de migrar algum código, tente o seguinte:
Selecione partes menores e use /fix para chegar
ao estado desejado.
Tente os seguintes comandos:
"Há algo que pode ser melhorado?"
"Me diga possíveis pontos problemáticos."
"Como você testaria esse código se a migração estivesse
correta?"
Gerar a documentação
Teste os seguintes comandos na conversa do
Gemini Code Assist:
"Resuma o código no pacote ou pasta
X e forneça documentação para os cinco
métodos mais importantes."
"Gere documentação para
FUNCTION_OR_CLASS_NAME."
"Reduza a documentação, mas preserve as
informações principais."
Geração de teste de unidade
Teste os seguintes comandos na conversa do
Gemini Code Assist:
"Gere testes de unidade para FILENAME."
"Adicione os casos de teste mais relevantes para a
função FUNCTION_NAME."
"Remova os casos de teste que você acha que não agregam muito valor."
Práticas recomendadas
Use nomes de variáveis e funções ou snippets de código relevantes. Isso orienta
a personalização do código para os exemplos mais relevantes.
Use repositórios de índice que você quer escalonar e evite adicionar funcionalidades
descontinuadas. Com a personalização de código, é possível dimensionar o estilo, os padrões,
a semântica, o conhecimento e as implementações em toda a base de código.
Exemplos ruins de repositórios para escalonamento são funcionalidades descontinuadas,
código gerado e implementações legadas.
Para casos de uso de recuperação de código, use a funcionalidade de geração de código em vez de
preenchimento de código. Use comandos com linguagem como "Usar a definição de
FUNCTION_NAME, gere exatamente a mesma função" ou
"Gere a implementação exata de FUNCTION_NAME".
Inclua ou importe o arquivo com o código que você quer
recuperar para melhorar o reconhecimento contextual do Gemini.
Execute apenas uma ação por comando. Por exemplo, se você quiser
recuperar código e implementá-lo em uma nova função, siga
estas etapas em duas solicitações.
Para casos de uso em que você quer mais do que apenas código (como
explicação dele, plano de migração ou explicação de erros), use a personalização de código para conversa, em que você conversa com o Gemini com sua base de código no contexto.
A geração de modelos de IA não é determinista. Se você não
ficar satisfeito com a resposta, execute o mesmo comando de novo para ter um
resultado melhor.
Gerar testes de unidade geralmente funcionará melhor se você abrir o
arquivo localmente e, em seguida, pedir na conversa para gerar testes de unidade 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-09-02 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."]]