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

  • Fornecer orientações para ajudar você 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 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 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 você a gerar código e cita fontes.

Este documento é destinado a desenvolvedores de todos os níveis de habilidade. Para isso, você precisa ter conhecimento prático do Cloud Workstations e conhecer bem o Google Cloud. Se preferir, conheça o Gemini Code Assist no Cloud Code para VS Code, Cloud Code para IntelliJ e no Editor do Cloud Shell.

Antes de começar

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

    Acessar IAM

  2. Configure a 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 seu arquivo de código, verifique se a linguagem de programação dele é compatível. Para mais informações sobre as linguagens de programação compatíveis, consulte Linguagens de codificaçã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 projeto do Google Cloud com a API Cloud AI Companion ativada na estação de trabalho.

Se você selecionar um projeto do Google Cloud sem a API Cloud AI Companion ativada, 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 sua estação de trabalho, siga estas etapas:

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

    Iniciar a estação de trabalho

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

    Cloud Code - Botão de 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 você receber uma solicitação para permitir que o Cloud Workstations abra o site externo, clique em Abrir.

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

    Se uma solicitação para verificar se você fez o download desse app pelo Google, clique em Fazer login.

    Uma nova guia será aberta no navegador, exibindo 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 Inserir código de autorização e pressione Enter (para Windows e Linux) ou Return (para macOS).

    Você se conectou ao Google Cloud.

Em seguida, para selecionar um projeto do Google Cloud que tenha a API Cloud AI Companion 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 Assist.

  3. Selecione um projeto do Google Cloud que tenha a API Cloud AI Companion 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 Gemini Code Assist e conversar com ele para entender melhor seu código.

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

  1. Abra o arquivo de código.

  2. Na barra de atividades da estação de trabalho, clique no spark no Gemini Code Assist.

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

    O Gemini usa o código do seu arquivo como referência ao 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, selecione o bloco no seu arquivo de código e solicite ao 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ê quer, redefina o histórico de chat. No painel Gemini Code Assist, clique em Excluir Redefinir chat.

Gerar código com comandos

As seções abaixo mostram como usar o Gemini Code Assist para gerar código com o comando de exemplo Function to create a Cloud Storage bucket no seu 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 de receber e aceitar ou rejeitar sugestões enquanto você programa.

Criar um comando para 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 (para Windows e Linux) ou Return (para macOS).

  2. Para gerar um código, pressione Control+Enter (para Windows e Linux) ou Control+Return (para 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, você poderá mudar o atalho seguindo estas etapas:

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

  2. Na lista de atalhos de teclado, pesquise Cloud Code: Generate Code.

  3. Clique em Cloud Code: gerar código e, em seguida, clique em editar Alterar vinculação de chaves.

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

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

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

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 receber o código gerado com base em um comando com o código selecionado, siga estas etapas:

  1. Na barra de atividades, clique no 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 seu comando.

Receba sugestões inline enquanto você codifica

Enquanto você escreve o código, o Gemini Code Assist faz sugestões de código 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, para ignorar a sugestão, pressione Esc ou continue escrevendo o código.

Opcional: desativar sugestões in-line

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 até encontrar a lista Cloudcode: Gemini Code Assist: sugestões inline: ativar automático e selecione Desativado.

    Essa ação 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.

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

O Gemini fornece informações de citação ao citar uma outra fonte, como um código aberto. 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, você pode consultar e selecionar em 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.

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

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

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

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

Prévia: Usar transformações de código

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

Com as transformações de código, é possível fazer o seguinte:

  • Gere linhas de comentários para documentar seu código
  • Resolver problemas no 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.

Criar um comando para 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 o comando para o Gemini, siga estas etapas:

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

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

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

Conferir diferenças do código refatorado

Com a visualização de diferenças integrada na caixa de texto inline, é possível conferir as mudanças sugeridas pelo Gemini e o código original. Aceite ou descarte as alterações sugeridas.

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

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

  2. Digite um prompt, como Add comments, e pressione Enter (no Windows e Linux) ou Return (no macOS).

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

    Origens de contexto listadas no painel Gemini: Chat.

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

Conferir origens de contexto de uma resposta gerada

O recurso de exibição de contexto lista os arquivos de projeto (as origens 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 aparecem sempre que você usa as conversas no Gemini.

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

Origens de contexto listadas no painel Gemini: Chat.

Usar comandos inteligentes

Os comandos inteligentes podem ser usados na caixa de texto inline para executar ações específicas no código.

Para conferir 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 (para Windows e Linux) ou Command + I (para 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 de código na caixa de texto inline.

  4. Opcional: para conferir a resposta gerada no painel Gemini: Chat, clique em Abrir no Chat.

Ver histórico de solicitações

O acesso ao histórico de solicitações economiza tempo quando você precisa inserir os mesmos comandos em um arquivo de código grande.

Para acessar o histórico de solicitações, no arquivo de código, abra a caixa de texto inline pressionando Ctrl + I (no Windows e Linux) ou Command + I (no macOS) e depois em Control + seta para cima (no Windows e Linux) ou Command + seta para cima (no macOS). Assim, você pode revisar seus comandos mais antigos e reutilizar quando precisar.

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

Se você não é falante nativo de inglês e depende de aplicativos 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 comentários em outro idioma, siga estas etapas:

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

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

  3. Digite um prompt, como Add spanish comments, e pressione Enter (para Windows e Linux) ou Return (para macOS).

    O Gemini gera comentários no idioma especificado no comando e compara as 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 comandos de exemplo 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 com a depuração do código

  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 enviar o comando.

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 nas sessões

Se esses avisos não persistirem nas 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ê receber 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, que é usada 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

Gemini Code Assist e JetBrains Gateway

O Gemini Code Assist não é executado pelo JetBrains Gateway. Por isso, o Gemini Code Assist não é executado nos ambientes de desenvolvimento integrado do Cloud Workstations que exigem a conexão do JetBrains Gateway.

Enviar feedback

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

  1. Na barra de status, clique em Gemini Code Assist e, no menu Escolha 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, certifique-se de selecionar a opção Enviar registros do Skaffold ou Enviar registros do AI Companion.

  4. Clique em Enviar feedback.

A seguir