Use 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. Esta funcionalidade permite-lhe receber recomendações de código, que são baseadas nas bibliotecas internas, nas APIs privadas e no estilo de programação da sua organização.

Antes de começar

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

Como usar a personalização de código

A tabela seguinte apresenta formas de usar a personalização de código do Gemini Code Assist:

Formulário Como acionar Notas e recursos

Chat de linguagem natural

Introduza um comando de linguagem natural no chat do Gemini Code Assist no IDE.

Considere o seguinte:

  • O histórico do chat não está disponível. Evite consultas com vários passos.
  • Pode pedir mais detalhes sobre as fontes, incluindo links para as fontes específicas.
  • Se realçar ou selecionar código quando envia uma mensagem no chat, o Gemini Code Assist usa esse código para melhorar a personalização do código e a qualidade do chat.

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

Gere código Na barra de seleção rápida no IDE, com ou sem código selecionado, prima Command+Enter (no macOS) ou Control+Enter. Para mais informações, consulte Gere código com comandos.
Transforme o código Na barra de seleção rápida no seu IDE, com ou sem código selecionado, introduza /fix. Para mais informações, consulte Gere código com comandos.
Preenchimento automático A personalização do código é acionada automaticamente e fornece sugestões com base no que escreve.

Considere o seguinte:

  • A conclusão de código precisa de um determinado nível de confiança para propor uma sugestão. Certifique-se de que está disponível uma quantidade substancial de código para que sejam obtidos fragmentos relevantes.
  • A conclusão de código verifica se tem as bibliotecas necessárias para usar determinados elementos da função.

Para mais informações, consulte o artigo Obtenha conclusões de código.

Contexto do repositório remoto
  1. Comece o comando com o símbolo @. É apresentada uma lista dos repositórios remotos indexados disponíveis.
  2. Selecione o repositório que quer usar para contexto na lista. Também pode começar a escrever o nome do repositório para filtrar a lista.
  3. Depois de selecionar o repositório, escreva o resto do comando.

Considere o seguinte:

  • Isto é útil quando está a trabalhar numa tarefa que está maioritariamente relacionada com um conjunto específico de microsserviços, bibliotecas ou módulos.

Para mais informações, consulte o artigo Receba sugestões mais relevantes com o contexto do repositório remoto.

Exemplos de utilização e exemplos de comandos

A tabela seguinte fornece orientações e exemplos sobre a utilização da personalização de código em exemplos de utilização específicos:

Exemplo de utilização Coisas que vale a pena experimentar
A escrever novo código

Experimente o seguinte para gerar código no IDE ou no chat do Gemini Code Assist:

  • Gerar código que usaria termos já mencionados na sua base de código.
  • Cole o seu código, como uma assinatura funcional ou código com TODO comentários e, em seguida, peça ao Gemini Code Assist para preencher ou substituir TODO comentários com código. Adicione comentários com explicações a partir do contexto.

Experimente gerar código com os seguintes comandos no chat do Gemini Code Assist:

  • "Escreve uma função principal onde é criada uma ligação a DATABASE. Inclua verificações de funcionamento."
  • "Escreve um FUNCTION_OR_CLASS na seguinte estrutura: EXPLAIN_STRUCTURE."

Depois de gerar algum código, experimente usar um comando de seguimento para o melhorar:

  • "Experimente o comando /fix para ajustar o código gerado, por exemplo, erros de sintaxe."
  • "Adicionar importações em falta".
  • "Experimente /fix no código gerado pelo chat."
Limpar, simplificar e refatorar código

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Podes unir IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS neste ficheiro?"
  • "Como simplificaria a função FUNCTION_NAME?"
  • "Podes unir FUNCTION_NAME_1 e FUNCTION_NAME_2 numa única função?"
  • "Podes inserir algumas variáveis em linha em FUNCTION_NAME?"
  • "Podes simplificar a nomenclatura de variáveis na função FUNCTION_NAME?"
Legibilidade

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Escreve a função FUNCTION_NAME em menos linhas de código, se possível."
  • "Adiciona comentários à função FUNCTION_NAME."
  • "Remova os espaços em branco desnecessários na função FUNCTION_NAME."
  • "Formata a função FUNCTION_NAME de forma semelhante ao resto do código."
Revisão de código

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Divide o código em partes e explica cada parte com a nossa base de código."
  • "Existem variáveis ou palavras-chave que possam ser mais curtas e mais autoexplicativas?"
  • "Podes dar-me código útil a partir do REPOSITORY_NAME_PACKAGE_MODULE contexto para este código?"
  • "O que achas da função FUNCTION_NAME?"
Depuração

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Recebo um erro quando tento fazer X/adicionar Y. Porquê?"
  • "Consegues encontrar um erro na função FUNCTION_NAME?"
  • "Como corrigiria a função FUNCTION_NAME tendo em conta esta mensagem de erro?"
Aprendizagem e processo de admissão

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Divide este código em partes e explica cada uma delas usando a nossa base de código."
  • "Show how to call function FUNCTION_NAME?"
  • "Mostra como executar a função principal no ambiente ENVIRONMENT_NAME?"
  • "Qual é a principal melhoria técnica que podemos fazer para tornar este código mais eficiente?"
  • "Mostra-me a implementação de FUNCTION_OR_CLASS_NAME para alcançar melhores resultados e adiciona o que é esse elemento específico", por exemplo, "Mostra-me a implementação da função foo, onde foo é o nome da função".
Migração

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Dá-me uma estratégia para 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, encontra-me uma função equivalente no idioma LANGUAGE_NAME que possa usar."

Experimente o seguinte fluxo de trabalho de transformação baseado em chat ou geração de código com comandos:

  1. "Transforma FILENAME_COMPONENT código já escrito em LANGUAGE_1 e refatora-o e migra-o para LANGUAGE_2", por exemplo, de Go para Python.
  2. Depois de migrar algum código, experimente o seguinte:
    • Selecione partes mais pequenas e use /fix para as colocar no estado pretendido.
    • Experimente os seguintes comandos:
      • "Existe algo que possa ser melhorado?"
      • "Dá-me possíveis pontos problemáticos."
      • "Como testaria este código se essa migração estivesse correta?"
A gerar documentação

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Resume o código no pacote ou na pasta X e fornece documentação para os cinco métodos importantes."
  • "Gera documentação para FUNCTION_OR_CLASS_NAME."
  • "Reduzir a documentação, preservando as informações importantes."
Geração de testes de unidades

Experimente os seguintes comandos no chat do Gemini Code Assist:

  • "Gera testes de unidades para FILENAME."
  • "Adiciona os casos de teste mais relevantes para a função FUNCTION_NAME."
  • "Remova os exemplos de teste que considera não trazerem muito valor."

Práticas recomendadas

  • Use nomes de variáveis e funções ou fragmentos do código relevantes. Isto orienta a personalização do código para os exemplos de código mais pertinentes.
  • Use repositórios de índices que quer dimensionar e evite adicionar funcionalidades descontinuadas. A personalização do código ajuda a dimensionar o estilo do código, os padrões, a semântica do código, os conhecimentos e as implementações em toda a base de código. Os maus exemplos de repositórios para dimensionar são funcionalidades descontinuadas, código gerado e implementações antigas.
  • Para exemplos de utilização de obtenção de código, use a funcionalidade de geração de código em vez do preenchimento automático de código. Use comandos com linguagem como "Usando a definição de FUNCTION_NAME, gera exatamente a mesma função" ou "Gera a implementação exata de FUNCTION_NAME".
  • Tenha inclusões ou importações presentes no ficheiro para o código que quer obter para melhorar a consciência contextual do Gemini.
  • Execute apenas uma ação para cada comando. Por exemplo, se quiser obter código e que este código seja implementado numa nova função, siga estes passos em dois comandos.
  • Para exemplos de utilização em que quer mais do que apenas código (como uma explicação do código, um plano de migração ou uma explicação de erros), use a personalização de código para o chat, onde tem uma conversa com o Gemini com a sua base de código em contexto.
  • Tenha em atenção que a geração de modelos de IA não é determinística. Se não ficar satisfeito com a resposta, executar novamente o mesmo comando pode alcançar um melhor resultado.
  • Tenha em atenção que a geração de testes unitários geralmente funciona melhor se abrir o ficheiro localmente e, em seguida, pedir ao chat para gerar testes unitários para este ficheiro ou uma função específica.

Receba sugestões mais relevantes com o contexto do repositório remoto

Pode receber sugestões de código mais relevantes e conscientes do contexto direcionando o Gemini Code Assist para se concentrar em repositórios remotos específicos. Ao usar o símbolo @ no chat, pode selecionar um ou mais repositórios para usar como fonte principal de contexto para os seus comandos. Isto é útil quando está a trabalhar numa tarefa que está maioritariamente relacionada com um conjunto específico de microsserviços, bibliotecas ou módulos.

Para usar um repositório remoto como contexto, siga estes passos no chat do seu IDE:

  1. Comece o comando com o símbolo @. É apresentada uma lista dos repositórios remotos disponíveis que estão indexados.
  2. Selecione o repositório que quer usar para contexto na lista. Também pode começar a escrever o nome do repositório para filtrar a lista.
  3. Depois de selecionar o repositório, escreva o resto do comando.

Em seguida, o Gemini vai dar prioridade ao repositório selecionado quando gerar uma resposta.

Exemplos de comandos

Seguem-se alguns exemplos de como pode usar esta funcionalidade:

  • Para compreender um repositório:
    • "@REPOSITORY_NAME Qual é a estrutura geral deste repositório?"
    • "@REPOSITORY_NAME Sou um novo membro da equipa. Podes dar-me uma vista geral da finalidade e dos módulos principais deste repositório?"
  • Para geração e modificação de código:
    • "@REPOSITORY_NAME Implemente uma função de autenticação semelhante à deste repositório."
    • "@REPOSITORY_NAME Refatora o seguinte código para seguir as convenções no repositório selecionado."
    • "@REPOSITORY_A_NAME Como posso usar as funções mais recentes deste repositório para melhorar o meu código em REPOSITORY_B_NAME?"
  • Para testes:
    • "@UNIT_TEST_FILE_NAME Gera testes unitários para MODULE com base nos exemplos no ficheiro selecionado."

Ao usar repositórios remotos como uma fonte de contexto focada, pode receber sugestões mais precisas e relevantes do Gemini Code Assist, o que pode ajudar a programar mais rapidamente e de forma mais eficiente.