Programar com o Gemini Code Assist

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

  • 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ê a obedecer a todos os requisitos de licença do 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 quando o Gemini cita fontes, consulte Como o Gemini ajuda você a gerar código e cita fontes.

A personalização de código permite receber sugestões de código com base na base de código privada da sua organização diretamente do 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 das estações de trabalho do Cloud e esteja familiarizado com o Google Cloud. Se preferir, você também pode conferir 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 a função de administrador do Cloud Workstations papel do IAM no projeto para que seja possível criar estações de trabalho personalizadas.

    Acesse o IAM

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

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

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 Gemini para o 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 sua estação de trabalho, siga estas etapas:

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

    Estação de trabalho do Lançamento

  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, clique em Abrir.

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

    Se você receber uma solicitação para confirmar que fez o download desse app pelo Google, clique em Faça login.

    Uma nova guia é aberta no navegador, mostrando o código de verificação para você assinar. 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 e pressione Enter (para o 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 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 o código do Gemini projeto.

  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 estação de trabalho 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 do seu arquivo como referência ao ao 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 gere código com o comando de exemplo Function to create a Cloud Storage bucket no arquivo de código. Também é possível selecionar uma parte do código e enviar um comando para o Gemini Code Assist pelo recurso de chat; e receber e aceitar ou rejeitar sugestões enquanto você codifica.

Acionar 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 o 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 do teclado.

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

  3. Clique em Cloud Code: gerar código e selecione edit Alterar 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.

Acionar 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 gerar um código com base em uma instrução 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.

  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 à sua solicitação.

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, pressione Esc ou continue escrevendo o código.

Opcional: desativar sugestões in-line

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, acesse Extensões. > Cloud Code.

  3. Role a tela até encontrar Cloudcode: Gemini Code Assist: sugestões inline: ativar automática 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) acionar sugestões inline manualmente.

Solicitar arquivos específicos no seu espaço de trabalho com reconhecimento da base de código local

O reconhecimento da base de código local ajuda você com sugestões de código de alta qualidade que são sintaticamente correto e semanticamente significativo dentro do contexto mais amplo de sua base de código, quando você especifica arquivos para que 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 reconhecimento da base de código local.

Para receber uma explicação sobre as diferenças entre dois arquivos na base de código, siga estas etapas:

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

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

    O Gemini Code Assist responde ao comando usando os dois arquivos especificados para o contexto. O Gemini Code Assist também inclui os arquivos especificados em Origens de contexto.

Agora que você especificou esses arquivos, pode continuar fazendo outras perguntas ou comandos no mesmo histórico de chat, sem precisar especificar os arquivos 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 pergunta sobre o arquivo que você especificados 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 parecida com a de um arquivo .gitignore, com as seguintes diferenças:

  • Um arquivo .aiexclude vazio ou inexistente bloqueia arquivos no diretório dele. 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 gananciosa ao caractere *. Isso vai corresponder de forma indiscriminada em diretórios e arquivos. O arquivo .aiexclude diferenciar ** ou * de pastas ou arquivos.

No momento, só é possível usar um único arquivo .aiexclude. Para configurar o arquivo .aiexclude, crie um arquivo com o título .aiexclude na raiz da pasta do espaço de trabalho. 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 apikeys.txtfile no mesmo diretório do arquivo .aiexclude. mas 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 como 0 em uma 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. 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 de código.

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

    O ícone de lâmpada de ações inteligentes aparece após a seleção de um bloco de código no Shell e em 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 a transformação de código

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

Com a transformação do código, é possível fazer o seguinte:

  • Gerar linhas de comentário para documentar seu código
  • Resolver problemas com o 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 Gemini: Chat.

Usar a caixa de texto inline para acionar o Gemini Code Assist

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 ao Gemini, siga estas instruções etapas:

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

  2. Digite 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.

Mostrar a diferença do código refatorado

Com a visualização de diferenças integrada na caixa de texto inline, você pode ver as alterações que o Gemini e seu código original. Você pode aceitar ou descartar as mudanças sugeridas.

Para conferir a diferença entre o código reestruturado e o original 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 (no Windows e no Linux) ou Command+I (no macOS).

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

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

    As fontes de contexto listadas no painel do 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 do seu projeto (as origens de contexto) que foram usadas como referência para gerar respostas aos seus comandos. Saber quais arquivos foram usados como referências ajuda a refinar as instruções e a receber respostas mais específicas. As fontes de contexto são mostradas sempre que você usa o Gemini Chat.

Para conferir as fontes de contexto da resposta gerada, no painel Gemini: Chat, role a tela até encontrar o snippet Context Sources. Expandir o snippet para conferir todas as fontes de contexto.

As fontes de contexto listadas no painel do Gemini: Chat.

Usar comandos inteligentes

Os comandos inteligentes podem ser usados na caixa de texto inline para executar ações específicas ao 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 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: se você quiser conferir a resposta gerada no painel Gemini: Chat, clique em Ver no chat.

Conferir o histórico de solicitações

Acessar o histórico de comandos economiza tempo quando você precisa inserir as mesmas 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 (no Windows e no Linux) ou Command+I (no macOS) e pressione Control+seta para cima (no Windows e no Linux) ou Command+seta para cima (no macOS). Isso permite que você alterne entre as solicitações mais antigas e as reutilize quando necessário.

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

Se você não é falante nativo de inglês e usa aplicativos de tradução, você pode usar 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. 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 (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 analisa as diferenças entre essas sugestões.

  4. Para aceitar ou descartar essas alterações no código, clique em Aceitar ou Descartar.

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 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 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 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 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 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 registros permanentes:

  1. Clique no 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 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, que é usado pelo gRPC.

Use a ferramenta grpc-health-probe para testar a conectividade. Um bem-sucedido check 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 conferir 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 se conectar.

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, incluindo a ativação da API Gemini para o 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 depois 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