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 Cloud Shell:

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

  • Gerar código para seu projeto.

  • Receba sugestões inline enquanto codifica.

O Gemini não usa seus comandos nem as respostas deles como dados para treinar os modelos. Para mais informações, consulte Como o Gemini para o 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 origem 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 citar fontes.

Este documento é destinado a desenvolvedores de todos os níveis de habilidade. Você precisa ter conhecimento prático com o Editor do Cloud Shell e estar familiarizado com o Google Cloud. Se preferir, também é possível explorar o Gemini Code Assist no Cloud Workstations, Cloud Code for IntelliJ e Cloud Code para VS Code.

Conecte-se ao Google Cloud e selecione um projeto

Nesta seção, você se conectará ao Google Cloud e selecionará um projeto do Google Cloud com a API Cloud AI Companion ativada no Editor do Cloud Shell.

Se você selecionar um projeto do Google Cloud sem a API Cloud AI Companion ativada, receberá uma notificação de erro e será instruído a entrar em contato com seu administrador. Para mais informações, consulte Configurar o Gemini Code Assist para um projeto.

Para se conectar ao Google Cloud usando o Editor do Cloud Shell, siga estas etapas:

  1. Inicie o editor do Cloud Shell

  2. Se você estiver usando o Editor legado, clique em Testar o novo Editor.

  3. Na barra de status, clique em Cloud Code - Login.

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

  4. Se for preciso autorizar o editor do Cloud Shell a fazer chamadas de API do Google Cloud, clique em Autorizar.

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

    Agora você está conectado 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 do 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.

Para testar os recursos do Gemini Code Assist, abra um aplicativo ou crie um aplicativo de amostra na próxima seção.

Opcional: criar um aplicativo de amostra

Se você preferir usar um aplicativo existente para testar os recursos do Genmini Code Assist, pule esta seção. Caso contrário, para criar um aplicativo de amostra, siga estas etapas:

  1. No editor do Cloud Shell, abra a paleta de comandos: pressione Control+Shift+P (para Windows e Linux) ou Command+Shift+P (para macOS) e execute Cloud Code: New Application.

  2. Selecione Aplicativo do Kubernetes.

  3. Selecione o modelo de aplicativo Python (Flask): Livro de visitas.

  4. Salve o novo aplicativo no local de sua preferência.

    Uma notificação confirma que seu aplicativo foi criado e uma nova janela é aberta com o aplicativo carregado.

Converse com o Gemini Code Assist

Nesta seção, você 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. Crie um novo arquivo de código ou use um existente. Se você estiver usando o exemplo Python (Flask), execute esta tarefa no arquivo front.py: navegue até Explorer > src > frontend e abra o arquivo front.py.

  2. Na barra de atividades do editor do Cloud Shell, clique em chat_spark Gemini Code Assist.

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

    Gemini usa o código no arquivo de código 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 no arquivo, selecione o bloco no arquivo de código e solicite o Gêmini.

Redefinir histórico de chat

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

Se o histórico de chat não for mais relevante para o que você está tentando fazer, redefina o histórico: no painel Gemini Code Assist, clique em excluir 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 prompt de exemplo # Function to create a Cloud Storage bucket dentro de um arquivo Python. 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 de código enquanto escreve.

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

  1. Crie um novo arquivo de código ou use um existente. Se você estiver usando o exemplo Python (Flask), faça isso no arquivo front.py: navegue até Explorer > src > frontend e abra o arquivo front.py.

  2. No arquivo de código, em uma nova linha, digite # Function to create a Cloud Storage bucket e pressione Enter (para Windows e Linux) ou Return (para macOS).

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

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

  4. 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 está funcionando como descrito na seção anterior, você pode mudar o atalho seguindo estas etapas:

  1. No editor do Cloud Shell, clique no menu Menu e navegue até File > Preferences > Keyboard Shortcuts.

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

  3. Clique em Cloud Code: Generate Code 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 (para Windows e Linux) ou Return (para macOS).

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

Solicitar o Gemini Code Assist com código selecionado usando o chat

O Gemini Code Assist pode realizar tarefas ou responder às suas perguntas com base no código que você selecionar. Para receber o código gerado com base em um prompt com o código selecionado, siga estas etapas:

  1. No Editor do Cloud Shell, abra um arquivo no seu projeto que contenha código ou use o mesmo arquivo de código usado nas etapas anteriores.

  2. Na barra de atividades, clique em chat_spark Gemini Code Assist para abrir o painel Gemini Code Assist.

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

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

    Por exemplo, selecione uma função no seu 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.

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

Receba sugestões inline enquanto escreve

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

  1. Crie um novo arquivo de código ou use um existente. Se você estiver usando o exemplo Python (Flask), faça isso no arquivo front.py: navegue até Explorer > src > frontend e abra o arquivo front.py.

  2. 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 um código na forma de texto fantasma.

  3. 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 as sugestões in-line

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

  1. No editor do Cloud Shell, 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 in-line: ativar Auto e selecione Desativado.

    Essa ação desativa as sugestões inline. Ainda é possível 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 correspondam às fontes citadas

Gemini fornece informações de citação quando ela cita diretamente outra fonte, como código fonte aberto. Para mais informações, consulte Como e quando o Gemini cita fontes.

Para evitar que um 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 Genmini Code Assist fornece ações inteligentes com tecnologia de IA diretamente no seu editor de código. Ao selecionar o código no editor, você pode ver e selecionar em uma lista de ações relevantes para seu 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 das Ações inteligentes aparece depois que você seleciona um bloco de código no Shell e no Workstations.

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

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

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

O Gemini Code Assist fornece transformações de código, que permitem selecionar uma parte do arquivo de código e solicitar modificações no código existente por meio de solicitações em linguagem natural usando uma caixa de texto inline.

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

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

Também é possível conferir as fontes de contexto de uma resposta gerada no painel Gemini: Chat.

Solicitar o Gemini Code Assist com a caixa de texto in-line

A caixa de texto in-line permite que você interaja com o Gemini Code Assist diretamente no seu arquivo de código.

Para abrir a caixa de texto inline e solicitar o Gemini, siga estas etapas:

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

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

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

Conferir a diferença do código refatorado

Com a visualização de diferenças integrada à caixa de texto inline, você pode conferir as mudanças sugeridas pelo Genmini 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 da 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 (para Windows e Linux) ou Command+I (no macOS).

  2. Digite 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 diferenças é exibida.

    Origens de contexto listadas no painel Gemini: Chat.

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

Conferir as fontes de contexto de uma resposta gerada

O recurso de exibição de contexto lista os arquivos de 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 chat do Genmini.

Para visualizar as fontes de contexto da resposta gerada, no painel Gemini: Chat, role até ver o snippet Context Sources. Expanda o snippet para conferir 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 realizar ações específicas no seu 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 (no Windows e Linux) ou Command+I (no macOS).

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

  3. Selecione /explain.

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

  4. Opcional: se você quiser conferir a resposta gerada no painel Gemini: chat, clique em Ver no chat.

Conferir o histórico de solicitações

O acesso ao histórico de prompts economiza tempo quando você precisa inserir os mesmos prompts em um arquivo de código grande.

Para acessar o histórico de comandos, abra a caixa de texto inline pressionando Control+I (para Windows e Linux) ou Command+I (para macOS) e depois pressione Control+seta para cima (no Windows e Linux) ou Command+seta para cima (no macOS). Isso permite que você percorra seus comandos antigos e os reutilize quando necessário.

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

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

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

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

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

    O Gemini gera comentários na linguagem especificada no comando e visualiza a comparação dessas sugestões.

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

Testar 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, digite o comando Explain this code to me.

    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, digite 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, digite o comando Help me debug my code.

Tornar seu código mais legível

  1. No arquivo de código, selecione o código que você quer deixar mais legível.
  2. No painel Gemini Code Assist, digite o comando Make my code more readable.

    Se você preferir se concentrar em uma parte específica do código, selecione a parte preferencial antes de solicitar o Gemini.

Problemas conhecidos

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

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

Se os avisos de recitação de licença não persistirem nas sessões, consulte os registros persistentes:

  1. Clique em menu Menu > Visualizar > Saída.

  2. Selecione Gemini Code Assist - Citations.

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

Se você vir 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 seu 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 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

Enviar feedback

Para enviar 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 Title e Comments.

  3. Caso queira 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