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

Este documento descreve como usar a personalização de código do Gemini Code Assist e apresenta algumas práticas recomendadas. Esse recurso permite receber recomendações de código, que são extraídas das bibliotecas internas, APIs privadas e do estilo de programação da sua organização.

Antes de começar

  1. Configure o Gemini Code Assist com uma assinatura corporativa.
  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 Notas e recursos

Chat com linguagem natural

Insira um comando de linguagem natural no chat do Gemini Code Assist no ambiente de desenvolvimento integrado.

Considere o seguinte:

  • O histórico de chat não está disponível. Evite consultas com várias etapas.
  • Você pode pedir mais detalhes sobre as fontes, incluindo links para as fontes específicas.
  • Se você destacar ou selecionar um código ao enviar uma mensagem no chat, o Gemini Code Assist vai usar esse código para melhorar a personalização do código e a qualidade do chat.

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

Gerar código Na barra de seleção rápida do seu ambiente de desenvolvimento integrado, 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 seu ambiente de desenvolvimento integrado, com ou sem código selecionado, digite /fix. Para mais informações, consulte Gerar código com comandos.
Preenchimento automático A personalização do 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 significativa de código está disponível para que os snippets relevantes sejam recuperados.
  • A conclusão de código verifica se você tem bibliotecas necessárias para usar determinados elementos da função.

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

Casos de uso e exemplos de comando

A tabela a seguir fornece orientações e exemplos sobre como usar a personalização de código em casos de uso específicos:

Caso de uso Coisas que valem a pena tentar
Escrever um novo código

Siga estas etapas para gerar código no seu ambiente de desenvolvimento integrado ou no chat do Gemini Code Assist:

  • Gere um 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 comentários TODO por código. Adicione comentários com explicações do contexto.

Tente gerar o código com as seguintes instruções no chat 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, tente usar uma solicitação complementar para melhorá-lo:

  • "Tente usar 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."
Limpar, simplificar e refatorar o código

Teste as seguintes solicitações 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?"
  • "É possível mesclar FUNCTION_NAME_1 e FUNCTION_NAME_2 em uma função?"
  • "Você poderia inserir algumas variáveis em FUNCTION_NAME?"
  • "Você poderia simplificar a nomenclatura das variáveis na função FUNCTION_NAME?"
Legibilidade

Teste as seguintes solicitações no chat do Gemini Code Assist:

  • "Escreva a função FUNCTION_NAME em menos linhas de código, se possível."
  • "Adicionar comentários à função FUNCTION_NAME."
  • "Remover 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 as seguintes solicitações 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

Teste as seguintes solicitações no chat do Gemini Code Assist:

  • "Estou recebendo uma mensagem de 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 com esta mensagem de erro?"
Aprendizado e integração

Teste as seguintes solicitações no chat do Gemini Code Assist:

  • "Divida esse 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 melhorar o desempenho desse código?"
  • "Mostre a implementação de FUNCTION_OR_CLASS_NAME para conseguir 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 as seguintes solicitações no chat do Gemini Code Assist:

  • "Dê uma estratégia de como 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."

Teste o seguinte fluxo de trabalho de transformação de geração de código ou baseado em chat usando instruções:

  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 que você quer.
    • Tente as seguintes instruções:
      • "Há algo que pode ser melhorado?"
      • "Diga quais são os possíveis pontos problemáticos."
      • "Como você testaria esse código se a migração estiver correta?"
Como gerar documentação

Teste as seguintes solicitações no chat do Gemini Code Assist:

  • "Resumir o código no pacote ou na pasta X e fornecer documentação para os cinco métodos mais importantes."
  • "Gerar documentação para FUNCTION_OR_CLASS_NAME."
  • "Reduzir a documentação preservando as informações principais."
Geração de teste de unidade

Teste as seguintes solicitações no chat do Gemini Code Assist:

  • "Generate unit tests for FILENAME".
  • "Adicione os casos de teste mais relevantes para a função FUNCTION_NAME."
  • "Remover casos de teste que você acha que não trazem muito valor".

Práticas recomendadas

  • Use nomes de variáveis e funções relevantes ou snippets de código. Isso orienta a personalização do código para os exemplos de código mais pertinentes.
  • Use os repositórios de índice que você quer dimensionar e evite adicionar funcionalidades descontinuadas. A personalização de código ajuda a dimensionar o estilo, padrões, semântica, conhecimento e implementações do código em toda a base de código. Exemplos ruins de repositórios para dimensionamento 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 do preenchimento automático. Use uma linguagem como "Usando a definição de FUNCTION_NAME, gere a mesma função" ou "Gerencie a implementação exata de FUNCTION_NAME".
  • Inclua inclusões ou importações no arquivo do código que você quer extrair para melhorar o reconhecimento contextual do Gemini.
  • Executar apenas uma ação para cada comando. Por exemplo, se você quiser extrair o 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 o código (como explicação do código, plano de migração ou explicação de erro), use a personalização de código para chat, 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 estiver satisfeito com a resposta, executar o mesmo comando novamente pode gerar um resultado melhor.
  • A geração de testes de unidade geralmente funciona melhor se você abrir o arquivo localmente e, no chat, solicitar a geração de testes de unidade para esse arquivo ou uma função específica.