Programar com o Gemini Code Assist

Neste documento, descrevemos como usar o Gemini Code Assist, um colaborador com tecnologia de IA no Google Cloud, para ajudar você a fazer o seguinte no editor de base do Cloud Workstations:

  • Oferecer orientação para ajudar você a resolver problemas no código.

  • Gerar 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 cumprir todos os requisitos de licença do seu código, o Gemini Code Assist cita fontes quando as sugestões usam esse recurso para uma fonte específica. Para saber 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 de acordo com a base de código particular da organização diretamente do Gemini Code Assist. Saiba como configurar a personalização de código.

Este documento é destinado a desenvolvedores de todos os níveis de habilidade. Você precisa ter conhecimento prático do Cloud Workstations e experiência com o Google Cloud. Se preferir, também é possível conhecer o Gemini Code Assist no VS Code, 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ção 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 do arquivo é aceita. Para mais informações sobre linguagens de programação aceitas, consulte Linguagens de programação aceitas.

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 atividades da sua estação de trabalho, clique em spark Gemini Code Assist.

  3. Siga as instruções para fazer login no Gemini Code Assist, caso ainda não tenha feito isso.

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

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

    Se 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.

  6. 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 CloudO Gemini está pronto para uso.

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 seu código.

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

  1. Abra um arquivo de origem.

  2. Na barra de atividades da sua estação de trabalho, 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 arquivo como contexto para o comando e responde com uma explicação do código.

    Para se concentrar em um bloco específico de código, selecione-o no arquivo aberto antes de inserir o comando.

Redefinir histórico do chat

O Gemini Code Assist usa o histórico da conversa para ter mais contexto ao responder aos seus comandos.

Se o histórico de chat não for mais relevante para o que você quer fazer, redefina o histórico: no painel Gemini Code Assist, clique em delete Redefinir chat.

Gerar código com comandos

Nas seções a seguir, você vai entender como usar o Gemini Code Assist para gerar código com o comando Function to create a Cloud Storage bucket em um arquivo. Também é possível selecionar uma parte do código e pedir ajuda ao Gemini Code Assist pela conversa, além de aceitar ou rejeitar sugestões enquanto você programa.

Enviar um comando ao Gemini Code Assist em um arquivo

  1. Em um arquivo de origem, 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, 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 como descrito na seção anterior, mude o atalho seguindo estas etapas:

  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 combinaçã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.

Usar a conversa para enviar um comando ao Gemini Code Assist com o código selecionado

O Gemini Code Assist pode realizar tarefas ou responder a perguntas com base no código selecionado. Para gerar código a partir do trecho selecionado:

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

  2. Em um arquivo de origem, selecione um bloco de código.

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

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

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

Receber sugestões inline enquanto você programa

Enquanto você programa, o Gemini Code Assist faz sugestões inline que você pode aceitar ou ignorar. Para testar esse recurso, siga estas etapas:

  1. Em um arquivo de origem, em uma nova linha, comece a escrever uma função. Por exemplo, 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. Para ignorar, 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. 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.

    As sugestões inline serão desativadas. Você ainda pode pressionar Control+Enter (no Windows e Linux) ou Control+Return (no macOS) para acionar manualmente as sugestões.

Opcional: excluir arquivos do contexto com um arquivo .aiexclude

É possível excluir arquivos do contexto do Gemini Code Assist 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 "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 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 nos subdiretórios:

    /apikeys.txt
    
  • Bloqueie todos os arquivos no diretório my/sensitive/dir e em 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 extrai um grande trecho de outra fonte, como um código-fonte disponível publicamente. Para mais informações, consulte Como e quando o Gemini cita fontes.

Para impedir que o Gemini sugira códigos que correspondam às fontes citadas, modifique a configuração geminicodeassist.recitation.maxCitedLength para 0 em um arquivo settings.json:

"geminicodeassist.recitation.maxCitedLength": 0

Usar ações inteligentes

Para aumentar a 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-fonte. Quando você seleciona código no editor, é possível conferir e selecionar em uma lista as ações relevantes para o contexto.

Para usar ações inteligentes, siga estas etapas:

  1. Em um arquivo de origem, selecione um bloco de código.

  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 quando o usuário seleciona um bloco de código no Shell e nas estações de trabalho.

  3. Selecione uma ação, como Generate unit tests.

    O Gemini gera uma resposta com base na ação selecionada.

Usar a transformação de código

O Gemini Code Assist oferece transformação de código, que permite selecionar uma parte do código em um arquivo 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.

Enviar um comando ao Gemini Code Assist com a caixa de texto inline

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

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

  1. Em um arquivo de origem, pressione Control+I (no Windows e no Linux) ou Command+I (no 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 do código refatorado

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

Para ver a diferença do código refatorado na caixa de texto inline, siga estas etapas:

  1. Em um arquivo de origem, 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 (no Windows e no Linux) ou Return (no macOS).

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

    Fontes de contexto listadas no painel do 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 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 o Gemini Chat.

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

Fontes de contexto listadas no painel do 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 um arquivo de origem inteiro com o comando inteligente /explain, siga estas etapas:

  1. Em um arquivo, abra a caixa de texto inline pressionando Control+I (no Windows e no Linux) ou Command+I (no macOS).

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

  3. Selecione /explain.

    O Gemini gera uma explicação de todo o arquivo 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ê quer reutilizar comandos em um arquivo de origem grande.

Para acessar o histórico de comandos, abra a caixa de texto inline no arquivo pressionando Control+I (no Windows e no Linux) ou Command+I (no macOS) e, em seguida, pressione Control+Seta para cima (no Windows e no Linux) ou Command+Seta para cima (no 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. Em um arquivo de origem, selecione o código a que você quer adicionar comentários.

  2. Abra a caixa de texto inline pressionando Control+I (no Windows e no Linux) ou Command+I (no 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, tente alguns dos exemplos a seguir.

Receber uma explicação do código

  1. Em um arquivo de origem, selecione uma função que você quer 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.

Gerar planos de teste

  1. Em um arquivo de origem, selecione o código para o qual 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ódigo

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

Tornar o código mais legível

  1. Em um arquivo de origem, selecione o código que você quer tornar mais legível.
  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 desejada antes de enviar o comando 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 são mantidos de uma sessão para outra

Se os avisos não persistirem de uma sessão para outra, 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 ocorrer um erro de conexão ou outros problemas de conectividade na janela de saída do Gemini Code Assist:

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

  • Configure seu firewall para permitir a comunicação por HTTP/2, que é usada pelo gRPC.

Use a ferramenta grpc-health-probe para testar a conectividade. Se o teste for bem-sucedido, o resultado será:

$ 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

Caso o teste falhe, o resultado será:

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 que o usuário seleciona o projeto do Gemini Code Assist

Se você selecionou o projeto de acordo com as instruções deste guia, que incluem a ativação da API Gemini para Google Cloud, talvez haja um problema com o servidor LS.

Para saber mais sobre o problema:

  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 resolver o problema.

Enviar feedback

Para enviar feedback sobre a sua experiência:

  1. Na barra de status, clique em Gemini Code Assist e, no menu Opções rápidas, selecione Enviar feedback.

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

  3. Para 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