Programar com o Gemini Code Assist

Neste documento, descrevemos como usar O Gemini Code Assist, uma ferramenta com tecnologia de IA colaborador no Google Cloud, para ajudar você a fazer o seguinte no Cloud Code:

  • Fornecer orientações para ajudar você a resolver problemas com seu código.

  • Gerar código para seu projeto.

  • Receba sugestões inline enquanto programa.

Saiba como e quando o Gemini do Google Cloud usa seus dados.

Para ajudar você a obedecer a todos os requisitos de licença do código, o Gemini Code Assist fornece citações de fontes quando as sugestões citam diretamente uma fonte específica. Para saber mais sobre como e quando o Gemini cita fontes, consulte Como o Gemini ajuda a gerar código e cita fontes.

A personalização de código permite receber sugestões de código com base na base de código privada da sua organização diretamente do Gemini Code Assist. Aprender como configurar a personalização de código.

Este documento é destinado a desenvolvedores de todos os níveis de habilidade. Ele pressupõe que você tenha conhecimento prático do VS Code e esteja familiarizado com o Google Cloud. Se preferir, você também pode conhecer o Gemini Code Assist no Cloud Workstations; Cloud Code para IntelliJ Editor do Cloud Shell.

Antes de começar

  1. Antes de testar os recursos do Gemini Code Assist no seu arquivo de código, verifique se a linguagem de programação do arquivo é compatível. Para mais informações sobre as linguagens de programação compatíveis, consulte Linguagens de programação compatíveis.

  2. Instale a extensão Gemini Code Assist + Cloud Code se ainda não fez isso. O Cloud Code se integra o Gemini Code Assist no seu ambiente de desenvolvimento integrado.

  3. Se você preferir usar o ambiente de desenvolvimento integrado atrás de um proxy, consulte Conexões de rede no Visual Studio Code.

Conecte-se ao Google Cloud e selecione um projeto

Nesta seção, você vai se conectar ao Google Cloud e selecionar um projeto do Google Cloud com a API Gemini para o Google Cloud ativada no seu ambiente de desenvolvimento integrado.

Se você selecionar um projeto do Google Cloud sem a API Gemini para Google Cloud ativada, vai receber uma notificação com a opção de ativar a API no ambiente de desenvolvimento integrado. Selecione Ativar a API na janela de notificação para ativar a API no projeto. Para mais informações, consulte Configurar o Gemini Code Assist para um projeto.

Se preferir seguir o guia Programar com o Gemini Code Assist diretamente no seu ambiente de desenvolvimento integrado, clique em Iniciar o VS Code e siga as etapas no tutorial para se conectar ao Google Cloud e ativar Gemini Code Assist

Iniciar o VS Code

Caso contrário, siga estas etapas:

  1. Inicie o ambiente de desenvolvimento integrado.

  2. Na barra de status, clique em Cloud Code - Fazer login.

    Cloud Code - Botão de login na barra de status.

  3. Quando solicitado a permitir que o Cloud Code abra o site externo, clique em Abrir.

  4. Siga as instruções para fazer login na sua Conta do Google.

  5. Quando for perguntado se você fez o download do Cloud Code do Google, clique em Fazer login.

    Você se conectou ao Google Cloud.

Em seguida, para selecionar um projeto do Google Cloud que tenha a API Gemini para Google Cloud ativado, siga estas etapas:

  1. Na barra de status do Gemini Code Assist, clique em Gemini Code Assist.

    A barra de status do Gemini está disponível.

  2. No menu Gemini Code Assist, selecione Selecionar o código do Gemini projeto.

  3. Selecione um projeto do Google Cloud que tenha a API Gemini para Google Cloud ativado.

    O Gemini está pronto para uso.

    O ícone Gemini na barra de status está definido como normal.

Conversar com o Gemini Code Assist

Nesta seção, você vai aprender a abrir o painel Gemini Code Assist e conversar com o Gemini Code Assist para entender melhor o código-fonte.

Para começar a conversar com o Gemini, siga estas etapas:

  1. Abra o arquivo de código.

  2. Na barra de atividades do ambiente de desenvolvimento integrado, clique em spark Gemini Code Assist.

  3. No painel Gemini Code Assist, insira o comando Explain this code to me e clique em send Enviar.

    O Gemini usa o código no arquivo de código como referência para o comando e responde com uma explicação do código.

    Para se referir a um bloco de código específico em vez de todo o código do arquivo, pode selecionar o bloco no seu arquivo de código e depois executar o comando ao Gemini.

Redefinir o histórico de chat

O Gemini Code Assist usa o histórico de chat para oferecer mais contexto ao responder aos seus comandos.

Caso seu histórico de chat não seja mais relevante para o que você está tentando fazer, Se quiser redefinir o histórico de chat: no painel Gemini Code Assist, clique delete Redefinir chat.

Gerar código com comandos

As seções a seguir mostram como usar o Gemini Code Assist para realizar transformações de código, como function to create a Cloud Storage bucket, usando a barra Quick Pick.

A transformação de código permite usar comandos ou comandos de linguagem natural em a barra de seleção rápida para solicitar modificações no código e fornece uma visualização de diferenças para mostrar as alterações pendentes no código.

Também é possível selecionar uma parte do código e pedir ajuda ao Gemini Code Assist pelo painel Gemini Code Assist e receber e aceitar ou rejeitar sugestões de código enquanto você programa.

Ativar o Gemini Code Assist com a transformação de código

  1. No arquivo de código, em uma nova linha, pressione Control + I (no Windows e no Linux) ou Command + I (no macOS) para abrir a barra Gemini Code Assist Quick Pick.

  2. No menu, usando o comando /generate, digite /generate function to create a Cloud Storage bucket e pressione Enter (no Windows). e Linux) ou Return (para macOS).

    O Gemini Code Assist gera código com o comando /generate.

    O Gemini Code Assist gera o código com base no seu comando em um visualização de diferenças.

    O Gemini Code Assist abre uma visualização de diferenças para mostrar o código gerado.

  3. Opcional: para aceitar essas mudanças, clique em Aceitar.

Opcional: crie um comando para o Gemini Code Assist em um arquivo de código com um comentário

Se preferir, você também pode acionar o Gemini Code Assist no seu com um comentário, seguindo estas etapas:

  1. Em uma nova linha, digite o comentário Function to create a Cloud Storage bucket. e pressione Enter (para Windows e Linux) ou Return (para macOS).

  2. Para gerar um código, pressione Control+Enter (para Windows e Linux) ou Control + Return (no macOS).

    Ao lado do texto do comando no arquivo de código, o Gemini Code Assist gera o código na forma de texto fantasma.

  3. Opcional: para aceitar o código gerado, pressione Tab.

Opcional: mudar o atalho do teclado para gerar código

Se o atalho de teclado padrão para gerar código não estiver funcionando conforme descrito na seção anterior, siga estas etapas para mudar o atalho de teclado:

  1. No ambiente de desenvolvimento integrado, clique em File (para Windows e Linux) ou Code (para macOS) e navegue até Settings > Keyboard Shortcuts.

  2. Na lista de atalhos de teclado, role até encontrar a opção Cloud Code: Gerar código

  3. Clique em Cloud Code: Generate Code e em edit Change Keybinding.

  4. Na caixa de diálogo exibida, insira seu próprio atalho.

  5. Pressione Enter (no Windows e no Linux) ou Return (para macOS).

    Agora você pode usar o atalho de teclado recém-atribuído para gerar código com Gemini Code Assist

Para saber mais sobre como mudar os atalhos no seu ambiente de desenvolvimento integrado, consulte Vinculações de tecla para o Visual Studio Code.

Fazer comandos no Gemini Code Assist com o código selecionado pelo chat

O Gemini Code Assist pode realizar tarefas ou responder às suas perguntas com base no código selecionado. Para obter o código gerado com base em uma com o código selecionado, siga estas etapas:

  1. Na barra de atividades, clique em spark Gemini Code Assist para abrir o painel Gemini Code Assist.

  2. No arquivo de código, selecione um bloco.

  3. No campo de texto do painel Gemini Code Assist, insira um comando para o código selecionado.

    Por exemplo, selecione uma função no código e insira o comando Write a unit test for this function:

    O Gemini cria um teste de unidade para uma função selecionada.

    O Gemini usa o código selecionado como referência e responde ao comando.

Receber sugestões inline durante a programação

Enquanto você escreve o código, o Gemini Code Assist cria código in-line sugestões que você pode aceitar ou ignorar. Para testar esse recurso, siga estas etapas:

  1. No arquivo de código, em uma nova linha, comece a escrever uma função. Por exemplo, se estiver em um arquivo Python, escreva def.

    O Gemini sugere código na forma de texto fantasma.

  2. Para aceitar a sugestão de código do Gemini Code Assist, pressione Tab. Caso contrário, pressione Esc ou continue escrevendo o código.

Opcional: desativar sugestões inline

Se preferir desativar as sugestões inline no Gemini Code Assist, siga estas etapas:

  1. No ambiente de desenvolvimento integrado, selecione Code (para macOS) ou File (para Windows e Linux) e navegue até Settings > Settings.

  2. Na guia Usuário da caixa de diálogo Configurações, acesse Extensões. > Cloud Code.

  3. Role a tela até encontrar a lista Cloudcode: Gemini Code Assist: Inline Suggestions: Enable Auto e selecione Off.

    Essa ação desativa as sugestões inline. Você ainda pode pressionar Control + Enter (para Windows e Linux) ou Control + Return (para macOS) acionar sugestões inline manualmente.

Usar a correção rápida de transformação de código

Se houver um erro no código, o Gemini Code Assist oferece a opção de aplicar uma correção rápida ao erro com a transformação de código.

Para aplicar uma correção rápida no arquivo de código, siga estas etapas:

  1. No arquivo de código, mantenha o ponteiro sobre a linha de erro irregular e selecione Quick Fix e depois selecione /fix.

    Correção rápida de transformação de código no ambiente de desenvolvimento integrado.

  2. Quando a correção rápida é aplicada, uma visualização de diferença aparece. Para aceitar essas mudanças, clique em Aceitar.

Use arquivos específicos no seu espaço de trabalho com reconhecimento da base de código local

A detecção de base de código local ajuda você com sugestões de código de alta qualidade que são gramaticalmente corretas e semanticamente significativas no contexto mais amplo da sua base de código, quando você especifica arquivos para o Gemini Code Assist usar como contexto.

Para especificar arquivos no comando de chat, digite @ e selecione os arquivos que quiser especificar.

Especifique arquivos com conhecimento da base de código local.

Para receber uma explicação sobre as diferenças entre dois arquivos na base de código, siga estas etapas:

  1. Na barra de atividades, clique em spark Gemini Code Assist.

  2. No painel Gemini Code Assist, digite o comando Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2 e pressione Enter (no Windows e no Linux) ou Return (no macOS) ou Tab. Você pode clique no nome do arquivo na lista para selecioná-lo. Clicar no nome do arquivo adiciona o arquivo ao contexto do comando e o abre no ambiente de desenvolvimento integrado.

    O Gemini Code Assist responde ao seu comando enquanto usa os dois os arquivos especificados para contexto. O Gemini Code Assist também inclui os arquivos especificados em Fontes de contexto.

Agora que você especificou esses arquivos, pode continuar fazendo outras perguntas ou comandos no mesmo histórico de chat, sem precisar especificar os arquivos novamente.

Por exemplo: no painel Gemini Code Assist, insira o comando How can I improve YOUR_FILE_NAME_1? (sem o símbolo @) e pressione Enter (no Windows e Linux) ou Return (no macOS).

O Gemini Code Assist responde à sua pergunta sobre o arquivo que você especificados no comando.

Opcional: excluir arquivos do contexto com um arquivo .aidelete

É possível excluir arquivos que serão considerados pelo Gemini Code Assist para contexto criando um arquivo .aiexclude. Um arquivo .aiexclude segue a sintaxe semelhante a um arquivo .gitignore, com as seguintes diferenças:

  • Um arquivo .aiexclude vazio ou inexistente bloqueia arquivos no diretório dele. todos os subdiretórios.
  • Um arquivo .aiexclude não aceita negação, em que você prefixa padrões com um ponto de exclamação (!).
  • Um arquivo .aiexclude faz a correspondência exata com o caractere *. Isso vai corresponder de forma indiscriminada a diretórios e arquivos. Esse arquivo .aiexclude não diferencia ** ou * em relação a pastas ou arquivos.

No momento, apenas um arquivo .aiexclude é aceito. Para configurar o arquivo .aiexclude, crie um arquivo com o título .aiexclude na raiz da pasta do espaço de trabalho. Se você quiser colocar esse arquivo fora da raiz do espaço de trabalho ou renomeá-lo, o caminho poderá ser definido nas configurações do VS Code em "Arquivo de exclusão de contexto". O valor do caminho fornecido nessa configuração resolverá relativo à pasta raiz do espaço de trabalho aberto.

Exemplos

Os exemplos a seguir demonstram como configurar um arquivo .aiexclude:

  • Bloqueie todos os arquivos com o nome apikeys.txt no diretório do espaço de trabalho ou abaixo dele:

    apikeys.txt
    
  • Bloqueie todos os arquivos com a extensão .key no diretório do espaço de trabalho ou abaixo dele:

    *.key
    
  • Bloqueie apenas o arquivo apikeys.txt no mesmo diretório do arquivo .aiexclude, mas não em nenhum subdiretório:

    /apikeys.txt
    
  • Bloqueie todos os arquivos no diretório my/sensitive/dir e todos os subdiretórios. O caminho precisa ser relativo ao diretório raiz do espaço de trabalho.

    my/sensitive/dir/*
    

Desativar sugestões de código que correspondem às fontes citadas

O Gemini fornece informações de citação ao citar diretamente comprimento de outra fonte, como um código-fonte aberto já criado. Para mais informações, consulte Como e quando o Gemini cita fontes.

Para evitar que o código correspondente às fontes citadas seja sugerido, modifique a configuração cloudcode.duetAI.recitation.maxCitedLength para 0 em um arquivo settings.json:

"cloudcode.duetAI.recitation.maxCitedLength": 0

Usar ações inteligentes

Para aumentar sua produtividade e minimizar a troca de contexto, o Gemini Code Assist oferece ações inteligentes com tecnologia de IA diretamente no editor de código. Ao selecionar seu código no editor de código, é possível visualizar e selecione de uma lista de ações relevantes para o contexto.

Para usar ações inteligentes no código, siga estas etapas:

  1. No arquivo de código, selecione um bloco.

  2. Ao lado do bloco de código selecionado, clique em lightbulb Mostrar ações do código.

    O ícone da lâmpada de ações inteligentes aparece depois que você seleciona um bloco de código no VS Code.

  3. Selecione uma ação, como Gerar testes de unidade.

    O Gemini gera uma resposta com base na ação que você selecionados.

Testar outros exemplos de comandos

Depois de ler seção Gerar código com comandos deste use alguns dos exemplos de comando a seguir.

Receber uma explicação do código

  1. No arquivo de código, selecione uma função que você queira explicar.
  2. No painel Gemini Code Assist, insira o comando Explain this code to me.

    O Gemini usa o código selecionado como referência e responde com uma explicação da função selecionada.

Gerar planos de teste

  1. No arquivo de código, selecione o código em que você quer adicionar testes de unidade.
  2. No painel Gemini Code Assist, insira o comando Write unit tests for my code.

Receber ajuda para depurar códigos

  1. No arquivo de código, selecione o código que você quer depurar.
  2. No painel Gemini Code Assist, insira o comando Help me debug my code.

Tornar seu código mais legível

  1. No arquivo de código, selecione aquele que você quer facilitar a leitura.
  2. No painel Gemini Code Assist, insira o comando Make my code more readable.

    Se você preferir se concentrar em uma parte específica do código, selecione o parte preferida do código antes de enviar o comando ao Gemini.

Problemas conhecidos

As seções a seguir descrevem os problemas conhecidos de Gemini Code Assist

As respostas do chat podem aparecer truncadas quando incluem uma versão atualizada de um arquivo grande aberto.

Para contornar esse problema, selecione uma seção menor de código e inclua uma diretiva adicional na solicitação de chat, como only output the selected code.

Vim: não é possível aceitar ou dispensar sugestões de geração de código, a menos que esteja no modo de inserção

Ao usar o plug-in Vim no modo normal, não é possível aceitar ou dispensar o código sugestões.

Para contornar esse problema, pressione i para entrar no modo de inserção e pressione Tab para aceitar a sugestão.

Vim: comportamento inconsistente ao pressionar Esc para dispensar sugestões

Quando você pressiona Esc, as sugestões do IDE e do Gemini são dispensadas. Esse comportamento é diferente do comportamento não Vim em que pressionar Esc aciona o Gemini novamente.

As tentativas de login continuam expirando

Se as tentativas de login continuarem expirando, tente adicionar o Configuração cloudcode.beta.forceOobLogin ao arquivo settings.json:

"cloudcode.beta.forceOobLogin": true

Os avisos de recitação de licença não são mantidos nas sessões

Se esses avisos não persistirem nas sessões, consulte registros permanentes:

  1. Clique em Visualizar > Saída.

  2. Selecione Gemini Code Assist - Citações.

Problemas de conectividade na janela de saída do Gemini Code Assist

Se você encontrar um erro de conexão ou outros problemas de conectividade na janela de saída do Gemini Code Assist, tente o seguinte:

  • Configure o firewall para permitir acesso a oauth2.googleapis.com e cloudaicompanion.googleapis.com.

  • Configure o firewall para permitir a comunicação por HTTP/2, usado pelo gRPC.

Use a ferramenta grpc-health-probe para testar a conectividade. Um bem-sucedido check resulta na seguinte saída:

$ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

Uma verificação malsucedida resulta na seguinte saída:

timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

Para conferir mais detalhes, execute o seguinte antes de grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

A opção "Ativar o Gemini Code Assist" ainda aparece depois de selecionar o projeto do Gemini Code Assist

Se você selecionou seu projeto de acordo com as instruções desta que inclui ativar a API Gemini para Google Cloud, pode haver um problema com o servidor LS.

Para saber mais detalhes sobre o problema, faça o seguinte:

  1. Na barra de status, clique em spark Gemini Code Assist e selecione Enviar feedback.

  2. Clique em Mostrar em qualquer um dos arquivos de registro para ver mais detalhes e receber ajuda resolver o problema.

Enviar feedback

Para deixar feedback sobre sua experiência, siga estas etapas:

  1. Na barra de status, clique em Gemini Code Assist e no menu suspenso Escolher, escolha Enviar feedback.

  2. No formulário, preencha os campos Título e Comentários.

  3. Para compartilhar os registros do Skaffold ou do AI Companion, Selecione a opção Enviar registros do Skaffold ou Enviar registros do AI Companion.

  4. Clique em Enviar feedback.

A seguir