Programar com o Gemini Code Assist

Neste documento, descrevemos como usar o Gemini Code Assist, uma ferramenta de colaboração com tecnologia de IA no Google Cloud, para ajudar você a realizar as seguintes ações no Cloud Code:

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

  • Gere o código do seu projeto.

  • Receba sugestões inline enquanto estiver codificando.

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

Para ajudar você atender aos requisitos de licença para seu código, O Gemini Code Assist faz citações de fontes quando as sugestões dele citação direta de 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.

Personalização de código permite que você receba sugestões de código baseadas na base de código particular da sua organização. diretamente no 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 código , verifique se a linguagem de codificação do seu arquivo é compatível. Para mais informações sobre linguagens de codificação compatíveis, consulte Linguagens de codificação compatíveis.

  2. Instale o Gemini Code Assist + extensão do Cloud Code caso ainda não tenha feito isso. O Cloud Code se integra ao Gemini Code Assist no seu ambiente de desenvolvimento integrado.

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

Conectar-se ao Google Cloud e selecionar 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 no janela de notificação para ativar a API no projeto. Para mais informações, consulte Configurar o Gemini Code Assist para um projeto.

Se você preferir seguir o tutorial Programar com o Gemini Code Assist diretamente no seu ambiente de desenvolvimento integrado, clique em Launch VS Code e siga as etapas no tutorial para se conectar ao Google Cloud e ativar o 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.

    Botão "Cloud Code - Fazer 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 projeto do Gemini Code.

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

    O Gemini está pronto para uso.

    O ícone do 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 ele para receber uma explicação do código atual.

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

  1. Abra o arquivo de código.

  2. Na barra de atividades do IDE, Clique no 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 específico de código em vez de todo o código no arquivo, selecione o bloco no arquivo de código e solicite o Gemini.

Redefinir histórico de chat

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

Se o histórico de chat não for mais relevante para o que você está tentando fazer, é possível redefinir o histórico de chat: no painel Gemini Code Assist, clique em 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 Gemini Code Assist para receber ajuda pelo Gemini Code Assist e receba e aceite ou rejeite sugestões de código enquanto codifica.

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 (para Windows e Linux) ou Command + I (para macOS) para abrir Barra de escolha rápida do Gemini Code Assist.

  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 comando em uma 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, também é possível ativar o Gemini Code Assist no seu arquivo de código 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 de 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:

  1. No ambiente de desenvolvimento integrado, clique em File (para Windows e Linux) ou Code (para macOS). e navegue até Configurações > Atalhos do teclado.

  2. Na lista de atalhos de teclado, role até encontrar Cloud Code: Generate code.

  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 (no macOS).

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

Para saber mais sobre como alterar atalhos no seu ambiente de desenvolvimento integrado, consulte Vinculações de teclas 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 a 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 de código.

  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 grava um teste de unidade para uma função selecionada.

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

Receba sugestões inline enquanto você codifica

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 Guia. Caso contrário, para ignorar a sugestão, pressione Esc ou continuar escrevendo seu código.

Opcional: desativar sugestões in-line

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, navegue até Extensões > Cloud Code.

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

    Isso desativa as sugestões inline. Você ainda pode pressionar Ctrl + Enter (no Windows e Linux) ou Ctrl + Return (no macOS) para acionar manualmente as sugestões inline.

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 ao arquivo de código, siga estas etapas:

  1. No arquivo de código, mantenha o ponteiro sobre a linha de erro com ondulações e selecione Quick Fix e, em seguida, /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.

Solicitar 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 obter uma explicação sobre as diferenças de dois arquivos em sua base de código, siga estas etapas:

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

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

    O Gemini Code Assist responde à sua solicitação usando os dois arquivos especificados para o contexto. O Gemini Code Assist também inclui os arquivos especificados em Fontes de contexto.

Agora que você especificou esses arquivos, pode continuar a fazer solicitações no mesmo histórico de chat, sem precisar especificar 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 consulta sobre o arquivo especificado no comando.

Opcional: excluir arquivos do contexto com um arquivo .aiexclude

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

  • Um arquivo .aiexclude vazio ou inexistente não bloqueia arquivos em seu diretório. todos os subdiretórios.
  • Um arquivo .aiexclude não oferece suporte à negação, em que você prefixa padrões com um ponto de exclamação (!).
  • Um arquivo .aiexclude corresponde avidamente ao 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, só é possível usar um único arquivo .aiexclude. Para configurar seu .aiexclude, crie um arquivo chamado .aiexclude na raiz do Workspace. Se quiser colocar esse arquivo fora da raiz do espaço de trabalho, ou renomear o arquivo, o caminho pode ser definido nas configurações do VS Code em "Arquivo de exclusão de contexto". O valor do caminho fornecido nessa configuração será resolvido em relação à pasta raiz do seu 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
    
  • Bloquear 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 seu código, siga estas etapas:

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

  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ê selecionou.

Teste 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 a parte preferida antes de acionar o Gemini.

Problemas conhecidos

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

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

Para contornar esse problema, selecione uma seção menor do código e inclua um diretiva extra no comando 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, em seguida, 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 a 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 - Citations.

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 o 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. Uma verificação bem-sucedida 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 ver mais detalhes, execute o seguinte antes de grpc-health-probe:

export GRPC_GO_LOG_SEVERITY_LEVEL=info

"Ativar o Gemini Code Assist" ainda aparece após 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 Quick Pick, selecione Send feedback.

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

  3. Se você quiser compartilhar seus 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