Usar a personalização de código do Gemini Code Assist

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.

Antes de começar

  1. Configure o Gemini Code Assist com uma assinatura Enterprise.
  2. Configure a personalização de código do Gemini Code Assist com uma assinatura Enterprise.

Como usar a personalização de código

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.

Para mais informações, consulte Conversar com o Gemini Code Assist .

Gerar código Na barra de seleção rápida da sua IDE, com ou sem código selecionado, pressione Command+Enter (no macOS) ou Control+Enter. Para mais informações, consulte Gerar código com comandos.
Transformar código Na barra de seleção rápida do IDE, com ou sem código selecionado, insira /fix. Para mais informações, consulte Gerar código com comandos.
Preenchimento automático 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.

Para mais informações, consulte Receber conclusões de código.

Casos de uso e exemplos de comandos

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:

  1. "Pegue o código FILENAME_COMPONENT já escrito em LANGUAGE_1, refatore e migre para LANGUAGE_2", por exemplo, de Go para Python.
  2. 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 implementar esse código 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 de código, 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.