programa
Gemini Code Assist: Um guia com exemplos
Ultimamente, tem havido um aumento nos modelos de código aberto e, quando se trata de edição de código, jogadores como o Cursor AI e GitHub Copilot permitem que os usuários experimentem seus assistentes de código de IA gratuitamente, mas rapidamente atingimos o limite de pagamento ao usá-los para criar qualquer projeto real.
Gemini Code Assist, o assistente de código de IA do Google, acaba de ganhar seu próprio nível gratuito muito generoso. Ele vem na forma de extensões do Visual Studio Code e da JetBrains.
Neste tutorial, aprenderemos como configurá-lo no Visual Studio Code e como usá-lo com vários exemplos práticos.
Desenvolver aplicativos de IA
O que são assistentes de código de IA?
Os assistentes de código de IA usam a IA para ajudar os desenvolvedores a codificar com mais eficiência, sugerindo trechos de código, automatizando tarefas repetitivas e fornecendo correções em tempo real em ambientes de codificação como o Visual Studio Code. Isso permite que os desenvolvedores passem menos tempo em tarefas rotineiras e mais tempo em trabalhos complexos e criativos.
Embora os chatbots possam ajudar nas tarefas de codificação, eles podem ser complicados de usar porque exigem a alternância entre o IDE e a plataforma de IA, o que envolve muita cópia e colagem de código.
Os assistentes de código de IA se integram diretamente ao ambiente de codificação. Isso permite que eles estejam cientes do nosso contexto de codificação e evitem ter que fornecer explicitamente trechos de código quando fazemos perguntas. Isso também permite que os assistentes de código modifiquem diretamente o código, tornando muito mais rápida a integração das alterações.
Como instalar o Gemini Code Assist?
Neste tutorial, usaremos o Gemini Code Assist junto com o Visual Studio Code. O Gemini Code Assist é uma extensão do Visual Studio, portanto, você pode instalá-lo como faria com qualquer outra extensão:
- Clique na guia Extensões no painel esquerdo.
- Digite "gemini code assist" na caixa de pesquisa.
- Clique no botão "Install" (Instalar).
Depois de instalada, a guia Gemini aparecerá no painel esquerdo. Para começar a usar o assistente de código, clique na guia com o logotipo Gemini e faça login na sua conta do Google.
Testando o Gemini Code Assist
Para testar o Gemini Code Assist, decidi analisar um conjunto de dados recente de músicas do Spotify usando Python. O conjunto de dados que usei foi criado pela Kaggle e está disponível aqui.
Para começar, crie uma pasta e extraia o arquivo songs.csv
para essa pasta. Em seguida, abra a pasta no Visual Studio Code. O plano é começar sem código e fazer com que o Gemini Code Assist escreva tudo para nós.
Como começar
O primeiro prompt que enviei pedia que você criasse uma função Python que carregasse os dados em um DataFrame pandas
.
Normalmente, o assistente de código funciona modificando o código existente e mostrando uma diferença com as novas alterações. Como ainda não há código nesse caso, podemos pedir que ele crie um novo arquivo com o código proposto clicando no último botão no canto superior direito do código fechado na janela de bate-papo.
Em seguida, renomeamos o arquivo para songs.py
.
Executar o código
Você pode executar o código usando o terminal integrado no Visual Studio Code com o comando:
python songs.py
Nesse caso, você receberá um erro:
ModuleNotFoundError: No module named 'pandas'
Isso ocorre porque o script songs.py
está tentando usar o pandas
, que não está instalado. Essa é uma oportunidade perfeita para você verificar se o Gemini Code Assist está ciente do terminal dentro do Visual Studio Code ou não.
Pedi que ele explicasse como corrigir o erro no terminal. Infelizmente, ele deu uma resposta genérica mostrando que não tinha a capacidade de acessar a saída do terminal. A alternativa é copiar e colar o texto do erro no bate-papo da IA, o que é um pouco mais complicado. Mas, com certeza, ao fazer isso, obtemos a resposta correta de que precisamos executar o comando pip install pandas
no terminal.
Essa é uma limitação infeliz porque, como engenheiro de software, fazer perguntas sobre um erro que vejo no terminal é um dos casos mais comuns em que uso a IA.
Depois de instalar o pandas
, você poderá executar o código com êxito.
Fazer perguntas genéricas
O Gemini Code Assist não se limita a perguntas de codificação. Também podemos fazer perguntas genéricas ou relacionadas a dados. Vamos tentar ter uma ideia dos dados que temos no arquivo songs.csv
, solicitando que você liste todas as colunas:
Na resposta, ele criou uma função que lista as colunas, mas também mostrou uma lista diretamente na resposta:
Muitas vezes, ao usar o Gemini Code Assist, parecia que ele tinha dificuldade em distinguir quando eu estava fazendo uma pergunta genérica que só garantia uma resposta textual de quando eu queria que ele escrevesse um código. Esse é um problema menor, pois podemos ignorar a parte do código, mas ele atrapalha um pouco o bate-papo.
Solicitação de novas funcionalidades
Na resposta anterior, vemos que há uma coluna track_popularity
. Vamos pedir ao Gemini Code Assist que implemente uma nova função que obtenha a música mais popular.
Quando o Gemini Code Assist escreve código na resposta, a função não é automaticamente integrada ao nosso código. Para isso, clicamos no botão de seta dupla "Diff with Open File". Certifique-se de que, antes de clicar, o arquivo ao qual as alterações pertencem seja o arquivo aberto no momento no editor; caso contrário, as alterações serão mescladas no arquivo errado.
Depois de pressionar o botão, você verá uma diferença. À esquerda, você vê o estado atual do código e, à direita, o novo estado. As linhas destacadas em vermelho representam as linhas que serão excluídas ou alteradas, enquanto as linhas destacadas em amarelo são as adições ou alterações.
Você pode observar a barra de rolagem à direita para localizar essas alterações. Muitas vezes, vários locais do arquivo exigem alterações, e é importante que você dê uma olhada em todos eles antes de aceitar as alterações.
Ao passar o mouse sobre uma alteração, você verá uma seta no meio:
Considero o ícone pouco intuitivo, mas ao clicar nessa seta você especificará que não deseja incluir essa alteração específica. Depois de decidir qual deles queremos, podemos incorporar o novo código clicando no botão "Accept" (Aceitar) na parte superior.
Autocompletar
Até o momento, estamos interagindo com o Gemini Code Assist usando o bate-papo da IA. Esse fluxo de trabalho já é muito melhor do que copiar e colar código entre uma plataforma de IA e o editor de código, porque tudo está integrado na mesma janela e vemos a diferença, o que facilita a visualização das novas alterações. No entanto, isso não é tudo o que o Code Assist pode fazer.
Enquanto escrevemos o código, o assistente analisará o que estamos escrevendo e fornecerá sugestões de código que podem ser integradas com o pressionar de um botão.
A coluna track_popularity
no conjunto de dados armazena a popularidade de um programa. Vamos escrever uma função que exiba a popularidade das músicas de um determinado artista, classificadas por sua data de lançamento. Você pode usar o site track_album_release_date
para classificar.
À medida quevocê escrever a função, o Gemini Code Assist sugerirá autocompletamentos. Quando começarmos a escrever a assinatura da função, o Gemini Code Assist adivinhará o que você deseja a partir do nome da função:
Para incorporar uma sugestão, basta pressionar a tecla Tab no teclado. Em seguida, queremos criar uma cópia do DataFrame que contenha apenas as músicas do artista em questão:
Às vezes, a sugestão de código não é o que você deseja. Nesse caso, ainda precisamos escrever manualmente o que desejamos ou, se estiver próximo o suficiente, aceitá-lo e editá-lo. Você pode usar o recurso de edição de texto. Neste exemplo, a próxima etapa é converter o endereço track_album_release_date
em um formato de data. No entanto, por algum motivo, o Gemini Code Assist deseja obter apenas o ano de lançamento, então escrevi a linha manualmente.
Em seguida, quero classificar as músicas por data:
Por fim, retorno as pontuações de popularidade:
Direcionamento de código específico
Podemos direcionar um código específico selecionando-o primeiro no editor. Quando o código for selecionado, alguns prompts automáticos serão sugeridos, como "Explain this" (Explique isso) ou "Generate unit tests" (Gerar testes de unidade).
Você pode selecionar um trecho de código e perguntar o que ele faz ou como funciona, o que é muito útil quando se está entrando em uma nova base de código. Descobri que essa costuma ser a etapa mais difícil quando você trabalha em um novo produto com uma base de código existente.
Também podemos pedir que ele modifique o código com um prompt personalizado. Por exemplo, podemos pedir que ele aprimore a função analyze_artist_popularity_over_time()
que acabamos de criar:
Nesse caso, ele aprimorou a função adicionando algumas verificações para evitar erros.
Limitações do plano gratuito
O plano gratuito do Gemini Code Assist para pessoas físicas tem algumas limitações quando comparado aos planos Standard e Enterprise:
- Personalização e integração limitadas: O plano gratuito não permite que você conecte seus repositórios de código-fonte privados para sugestões de código personalizadas, o que está disponível no plano Enterprise.
- Acesso a recursos: Alguns recursos avançados do Gemini para Firebase e Apigee, bem como a automação avançada assistida por IA na Integração de aplicativos, estão disponíveis apenas nos planos Standard e Enterprise.
- Segurança e conformidade: O plano gratuito não possui recursos de segurança de nível empresarial e ferramentas de gerenciamento, bem como indenização por IP, que estão incluídos nas ofertas Standard e Enterprise.
- Limites operacionais: O plano gratuito oferece um limite diário de 6.000 solicitações relacionadas a código e 240 solicitações de bate-papo, o que pode ser suficiente para uso individual, mas pode ser limitante para projetos de equipes maiores.
- Recursos e suporte empresariais: Os recursos de contexto empresarial para criação de API e análise avançada da qualidade do aplicativo não estão disponíveis no plano gratuito.
Para obter mais detalhes, consulte o site do o site do Gemini Code Assist.
Minhas impressões sobre o Gemini Code Assist
Descobri que o Gemini Code Assist funciona muito bem no geral. Em minha experiência, ele teve um desempenho semelhante ao de seus principais concorrentes, o Cursor e o Copilot. É realmente impressionante para uma ferramenta gratuita. A camada gratuita suporta até 6.000 solicitações relacionadas a código e 240 solicitações de bate-papo todos os dias. Isso deve ser mais do que suficiente para a maioria dos programadores.
Outro recurso interessante que não abordamos aqui é a integração com o GitHub. O Gemini Code Assist para GitHub ajuda você a revisar as solicitações pull para encontrar bugs e problemas de estilo e sugerir alterações e correções de código automaticamente. Isso permite que os desenvolvedores se concentrem mais em escrever código. Se precisar de ajuda, os usuários podem perguntar ao Gemini deixando um comentário na solicitação pull.
Um problema que encontrei é que ele parece ter um pouco de dificuldade com solicitações anteriores. Muitas vezes eu me pegava pedindo algumas mudanças e depois decidia seguir em uma direção diferente. No entanto, em iterações posteriores, ele continuaria querendo integrar essas alterações. Um exemplo disso foi a função que escrevemos para exibir a popularidade de um programa ao longo do tempo. Inicialmente, eu queria fazer um gráfico com esses dados, mas depois mudei de ideia. No entanto, o código para plotar esses dados continuava sendo adicionado a futuras solicitações não relacionadas, o que era um pouco irritante.
Perigos dos assistentes de código
Recentemente, vi mais programadores expressarem suas preocupações, como neste thread do Redditsobre como o uso de assistentes de código como o Cursor ou o Copilot está fazendo com que eles se esqueçam lentamente de como escrever código.
Não há dúvida de que essas ferramentas proporcionam incríveis aumentos de produtividade e o fato de não usá-las está nos colocando em desvantagem em relação aos nossos colegas. No entanto, acho que tudo na vida requer um equilíbrio e, quando se trata de ferramentas de codificação de IA, é fácil cair na armadilha de aceitar cegamente o código que nos é fornecido. No mínimo, devemos reservar um tempo para ler e entender o que ele gera.
Usar o recurso de autocompletar código também parece ser um meio-termo melhor, porque pelo menos precisamos começar a escrever algo para ajudar a reter a memória muscular e evitar que os programadores confiem demais nas ferramentas de IA. O recurso autocompletar código também tende a fornecer pedaços menores de código, o que facilita a digestão.
Conclusão
As ferramentas de IA continuam evoluindo, com custos cada vez menores e acessibilidade cada vez maior. O Gemini Code Assist exemplifica essa tendência ao oferecer gratuitamente uma ferramenta robusta de assistência a códigos de IA.
Essa iniciativa do Google reduz a barreira de entrada para os desenvolvedores, permitindo que praticamente qualquer pessoa use a poderosa assistência de IA em suas tarefas de codificação. É particularmente louvável que o Gemini Code Assist ofereça recursos que estão no mesmo nível ou até mesmo competem com serviços pagos, como o Cursor e o Copilot. Com até 6.000 solicitações relacionadas a código e 240 solicitações de bate-papo disponíveis diariamente, ele oferece suporte mais do que suficiente para desenvolvedores individuais ou pequenos projetos.
Aprenda IA com estes cursos!
curso
Retrieval Augmented Generation (RAG) with LangChain
programa
Llama Fundamentals

blog
6 práticas recomendadas de Python para um código melhor
tutorial
DeepSeek-Coder-V2 Tutorial: Exemplos, instalação, padrões de referência

Dimitri Didmanidze
8 min
tutorial
Configuração do VSCode para Python: Um guia completo
tutorial
AI do cursor: Um guia com 10 exemplos práticos

François Aubry
10 min
tutorial
Tutorial da API de assistentes da OpenAI
tutorial