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 editor de base do Cloud Workstations:

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

  • Gere o código do projeto.

  • Receber sugestões inline enquanto você programa.

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

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

Com a personalização de código, você recebe sugestões com base na base de código particular da sua organização diretamente no Gemini Code Assist. Saiba 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 Cloud Workstations e esteja familiarizado com Google Cloud. Se preferir, você também pode usar o Gemini Code Assist no Cloud Code para VS Code, Cloud Code para IntelliJ e editor do Cloud Shell.

Antes de começar

  1. Verifique se você tem o papel de administrador do Cloud Workstations do IAM no projeto para poder criar configurações de estações de trabalho.

    Acessar o IAM

  2. Configure sua estação de trabalho, se ainda não tiver feito isso, e selecione Editor básico (Code-OSS) na configuração.

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

Conecte-se ao Google Cloud e selecione um projeto

Nesta seção, você vai se conectar ao Google Cloud e selecionar um projetoGoogle Cloud com a API Gemini para Google Cloud ativada na sua estação de trabalho.

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.

Para se conectar ao Google Cloud na estação de trabalho, siga estas etapas:

  1. No console do Google Cloud , inicie sua estação de trabalho.

    Iniciar estação de trabalho

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

    Botão "Cloud Code – Fazer login" na barra de status.

  3. Na janela para fazer login, clique em Prosseguir com login.

  4. Para iniciar o fluxo de login do Google Cloud , pressione Control (para Windows e Linux) ou Command (para macOS) e clique no URL no console.

  5. Se for preciso permitir que o Cloud Workstations abra o site externo, clique em Abrir.

  6. Para fazer login na sua conta, siga as instruções.

    Quando for solicitado que você confirme o download desse app pelo Google, clique em Fazer login.

    Uma nova guia é aberta no navegador, mostrando o código de verificação para fazer login no Cloud Code.

  7. Copie o código de verificação e cole-o no terminal onde está escrito Insira o código de autorização. Depois, pressione Enter (no Windows e no Linux) ou Return (no macOS).

    Você está falando com Google Cloud.

Em seguida, para selecionar um projeto do Google Cloud com a API Gemini para Google Cloud ativada, 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 com a API Gemini para Google Cloud ativada.

    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 do Gemini Code Assist e conversar com ele para receber uma explicação do seu 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 da sua estação de trabalho, clique em spark Gemini Code Assist.

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

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

    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 envie um comando para o Gemini.

Redefinir histórico de chat

O Gemini Code Assist usa o histórico de chat para ter 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: 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 gerar código com o comando de exemplo Function to create a Cloud Storage bucket no arquivo de código. Você também pode selecionar uma parte do código e pedir ajuda ao Gemini Code Assist pelo recurso de chat. Além disso, é possível receber e aceitar ou rejeitar sugestões de código enquanto programa.

Comandar o Gemini Code Assist em um arquivo de código

  1. No arquivo de código, em uma nova linha, digite o comentário Function to create a Cloud Storage bucket e pressione Enter (no Windows e no Linux) ou Return (no macOS).

  2. Para gerar código, pressione Control+Enter (no Windows e no 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:

  1. Na estação de trabalho, clique em menu Menu e navegue até Arquivo > Preferências > Atalhos de teclado.

  2. Na lista de atalhos do teclado, procure Cloud Code: gerar código.

  3. Clique em Cloud Code: gerar código e em edit Mudar vinculação de teclas.

  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.

Enviar comandos para o Gemini Code Assist com o código selecionado usando o chat

O Gemini Code Assist pode realizar tarefas ou responder a perguntas com base no código selecionado. Para receber um código gerado com base em um comando com 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 escreve um teste de unidade para uma função selecionada.

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

Receber sugestões inline enquanto programa

Enquanto você escreve o código, o Gemini Code Assist faz sugestões inline 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 você 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 a escrever o código.

Opcional: desativar sugestões inline

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

  1. Na estação de trabalho, selecione menu Menu e navegue até Arquivo > Preferências > Configurações.

  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 Control+Enter (para Windows e Linux) ou Control+Return (para macOS) para acionar manualmente as sugestões inline.

Opcional: excluir arquivos do contexto com um arquivo .aiexclude

É possível excluir arquivos da consideração do Gemini Code Assist para contexto criando um arquivo .aiexclude. Um arquivo .aiexclude segue a mesma sintaxe de um arquivo .gitignore, com as seguintes diferenças:

  • Um arquivo .aiexclude vazio ou inexistente não bloqueia nenhum arquivo no respectivo diretório e em 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 corresponde de forma greedy ao caractere *. Isso vai corresponder indiscriminadamente 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 chamado .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 "Context Exclusion File". 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 mostram 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 subdiretórios:

    /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 a fontes citadas

O Gemini fornece informações de citação quando faz uma citação direta de outra fonte, como um código de código aberto. Para mais informações, consulte Como e quando o Gemini cita fontes.

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

"geminicodeassist.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 direto no editor de código. Quando você seleciona o código no editor, é possível conferir e selecionar em uma lista as 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.

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

    O ícone de lâmpada das ações inteligentes aparece depois que você seleciona um bloco de código no Shell e nas estações de trabalho.

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

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

Usar transformação de código

O Gemini Code Assist oferece a transformação de código, que permite selecionar uma parte do arquivo de código e solicitar modificações no código atual usando comandos em linguagem natural, com uma caixa de texto inline.

Com a transformação de código, é possível:

  • Gerar linhas de comentários para documentar seu código
  • Resolver problemas com código
  • Melhorar a legibilidade do código
  • Tornar o código mais eficiente

Você também pode conferir as fontes de contexto de uma resposta gerada no painel Gemini: Chat.

Comande o Gemini Code Assist com a caixa de texto inline

A caixa de texto inline permite interagir com o Gemini Code Assist diretamente no arquivo de código.

Para abrir a caixa de texto inline e enviar um comando ao Gemini, siga estas etapas:

  1. No arquivo de código, pressione Control+I (para Windows e Linux) ou Command+I (para macOS).

  2. Insira um comando, como Write a function to create a Cloud Storage bucket, e pressione Enter (no Windows e no Linux) ou Return (no macOS).

    O Gemini Code Assist gera o código com base no seu comando.

Ver a diferença no código refatorado

Com a visualização de diff integrada à caixa de texto inline, você pode conferir as mudanças sugeridas pelo Gemini e seu código original. Em seguida, você pode aceitar ou descartar as mudanças sugeridas.

Para conferir a diferença do código refatorado na caixa de texto in-line, siga estas etapas:

  1. No arquivo de código, selecione uma função e abra a caixa de texto inline pressionando Control+I (no Windows e no Linux) ou Command+I (no macOS).

  2. Insira um comando, como Add comments, e pressione Enter (para Windows e Linux) ou Return (para macOS).

    Quando o Gemini gera as mudanças de código para a função selecionada, a visualização de diff aparece.

    Fontes de contexto listadas no painel "Gemini: Chat".

  3. Para aceitar ou descartar as mudanças, clique em Aceitar ou Descartar.

Ver as fontes de contexto de uma resposta gerada

O recurso de exibição de contexto lista os arquivos do projeto (as fontes de contexto) que foram usados como referência para gerar respostas aos seus comandos. Saber quais arquivos foram usados como referências ajuda você a refinar seus comandos e receber respostas mais específicas. As fontes de contexto são mostradas sempre que você usa a conversa do Gemini.

Para ver as fontes de contexto da resposta gerada, no painel Gemini: Chat, role a tela até encontrar o trecho Fontes de contexto. Expanda o snippet para ver todas as fontes de contexto.

Fontes de contexto listadas no painel "Gemini: Chat".

Usar os Smart Commands

Os comandos inteligentes são comandos que podem ser usados na caixa de texto in-line para realizar ações específicas no seu código.

Para receber uma explicação de todo o arquivo de código com o comando inteligente /explain, siga estas etapas:

  1. No arquivo de código, abra a caixa de texto inline pressionando Control+I (no Windows e no Linux) ou Command+I (no macOS).

  2. Pressione / para conferir a lista de comandos inteligentes e as descrições deles.

  3. Selecione /explain.

    O Gemini gera uma explicação de todo o arquivo de código na caixa de texto inline.

  4. Opcional: se quiser ver a resposta gerada no painel Gemini: Chat, clique em Ver no Chat.

Ver histórico de comandos

Acessar o histórico de comandos economiza tempo quando você precisa inserir os mesmos comandos em um arquivo de código grande.

Para acessar o histórico de comandos, no arquivo de código, abra a caixa de texto inline pressionando Control+I (para Windows e Linux) ou Command+I (para macOS) e pressione Control+Seta para cima (para Windows e Linux) ou Command+Seta para cima (para macOS). Isso permite que você navegue pelas suas solicitações mais antigas e as reutilize quando necessário.

melhorar a legibilidade do código para falantes de inglês não nativos

Se você não é falante nativo de inglês e usa apps de tradução, use a caixa de texto inline para gerar comentários em outros idiomas.

Para converter comentários em inglês para outro idioma ou adicionar novos comentários em outro idioma, siga estas etapas:

  1. No arquivo de código, selecione o código a que você quer adicionar comentários.

  2. Abra a caixa de texto inline pressionando Control+I (para Windows e Linux) ou Command+I (para macOS).

  3. Insira um comando, como Add spanish comments, e pressione Enter (no Windows e no Linux) ou Return (no macOS).

    O Gemini gera comentários no idioma especificado no comando e mostra a diferença entre essas sugestões.

  4. Para aceitar ou descartar essas mudanças no código, clique em Aceitar ou Descartar.

Teste outros exemplos de comandos

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

Receber uma explicação de código

  1. No arquivo de código, selecione uma função que você quer explicar.
  2. No painel do 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 a que você quer adicionar testes de unidade.
  2. No painel do Gemini Code Assist, insira o comando Write unit tests for my code.

Receber ajuda para depurar código

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

Tornar o código mais legível

  1. No arquivo de código, selecione o código que você quer tornar mais legível.
  2. No painel do 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 desejada antes de pedir ajuda ao Gemini.

Problemas conhecidos

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

Os avisos de recitação de licença não persistem entre as sessões

Se os avisos de recitação de licença não persistirem entre as sessões, consulte os registros permanentes:

  1. Clique em menu Menu > 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 seu firewall para permitir o acesso a oauth2.googleapis.com e cloudaicompanion.googleapis.com.

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

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 sem sucesso resulta na seguinte saída:

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

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

export GRPC_GO_LOG_SEVERITY_LEVEL=info

Gemini Code Assist e JetBrains Gateway

O Gemini Code Assist não é executado pelo JetBrains Gateway. Como resultado, o Gemini Code Assist não é executado em ambientes de desenvolvimento integrado do Cloud Workstations que exigem o JetBrains Gateway para conexão.

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 deste guia, que inclui a ativação da API Gemini para Google Cloud, talvez haja 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 ajudar a 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 Seleção rápida, selecione Enviar 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