Pular para o conteúdo principal

Tabnine: Um guia com projeto de demonstração

Aprenda a criar um editor de imagens com IA usando o Tabnine e o modelo Nano Banana do Google.
Atualizado 17 de set. de 2025  · 12 min lido

Escrever código pode ser meio chato quando você fica preso em detalhes de sintaxe ou em coisas repetitivas. Esse atrito só aumenta quando você está experimentando novos modelos de IA e só quer se concentrar na construção. O Tabnine ajuda a acabar com essa lentidão com autocompletar de código por IA dentro do seu editor.

Neste artigo, vou explicar passo a passo como usar o Tabnine no Visual Studio Code (VS Code) para criar um editor de imagens com IA usando o mais recente modelo de geração de imagens do Google, o Nano Banana. No final deste artigo, teremos um aplicativo Python funcional que permite aos usuários gerar e editar imagens usando prompts.

Captura de tela do aplicativo que criamos no tutorial usando o Tabnine.

O que é o Tabnine?

O Tabnine é um assistente de codificação com inteligência artificial parecido com o GitHub Copilot e Cursor. Funciona nos editores mais populares, como VS Code, PyCharm, Jupyter e outros.

Algumas das principais funcionalidades do Tabnine incluem:

- Integração com o Jira: O Tabnine pode se conectar ao Jira, uma plataforma popular para gerenciar projetos de engenharia de software. Isso facilita o gerenciamento do trabalho e permite que a Tabnine programe as tarefas em andamento.

- Comandos personalizados: O Tabnine vem com vários comandos, como “Explique o código” ou “Corrija o código”. Também permite que os usuários definam comandos personalizados baseados em prompts.

- Comportamento personalizado: O Tabnine te deixa configurar um prompt que orienta a forma como os modelos de IA respondem. Por exemplo, se você tiver diretrizes de codificação bem definidas, pode fornecê-las para garantir que o código seja gerado de acordo com essas diretrizes.

- Autocompletar inteligente: Ele sugere linhas completas ou blocos de código, não só nomes de variáveis.

- Sensível ao contexto: O Tabnine se adapta à estrutura do seu projeto e ao seu estilo de codificação.

- Suporte para vários modelos de IA: O Tabnine dá suporte aos modelos de IA mais populares, facilitando a escolha de qual usar.

- Aprendizagem em equipe: Nos planos empresariais, ele pode aprender com a base de código privada da sua equipe para fazer sugestões personalizadas de acordo com os padrões da sua empresa.

Configuração do Tabnine

Pra começar, a gente precisa criar uma conta no Tabnine e assinar a um dos planos deles. Eles oferecem um período de teste de 14 dias, para que você possa experimentar gratuitamente. Depois do período de teste, o Tabnine custa US$ 9 por mês.

Depois de criar sua conta Tabnine, abra o VS Code. Se você não tem o VS Code, instale-o a partir de aqui. Abra a aba de extensões e digite “tabnine” para encontrar a extensão oficial.

Lista de extensões Tabnine na interface do VS Code Marketplace mostrando os resultados da pesquisa e a opção de instalação.

Depois que a extensão estiver instalada, vamos ser solicitados a fazer login. Então, dá pra acessar o Tabnine na barra de menu à esquerda (a última opção nesta captura de tela).

Barra lateral do Visual Studio Code mostrando o explorador de arquivos, pesquisa, controle de código-fonte, depurador, extensões e ícones do Tabnine.

Explorando a interface do usuário do Tabnine

Antes de criar nosso editor de imagens com IA, vamos dar uma olhada rápida nos principais elementos do Tabnine.

Quando abrimos o Tabnine, aparece uma interface de chat com IA:

Interface Tabnine no Visual Studio Code mostrando opções de ajuda com código, extensões e trechos, com o Gemini 2.5 Pro selecionado no menu.

No topo, temos um seletor de modelo. Aqui, a gente pode escolher qual modelo usar. Vou ficar com a configuração padrão neste tutorial, o Gemini 2.5 Pro.

A interface de escolha de modelos de IA no Tabnine, mostrando opções como Claude 3.5 Sonnet, Claude 3.7 Sonnet, Claude 4 Sonnet, Gemini 2.0 Flash, Gemini 2.5 Pro, GPT-4o e Tabnine Protected, destacando otimizações de desempenho e recursos de privacidade.

Na parte inferior, podemos definir o contexto. Isso define o que a gente quer que o modelo de IA veja ao responder.

Interface de chat Tabnine AI no VS Code com opções para comandos, trechos de código, arquivo atual e configurações de escopo da área de trabalho.

Por padrão, o contexto inclui o arquivo atual e o espaço de trabalho (o projeto). A gente pode adicionar outras coisas, tipo o Terminal, que é super útil pra avisar o modelo sobre erros quando a gente encontra algum. Também podemos fornecer um trecho de código específico usando o caractere “@” e digitando o nome da função que queremos adicionar ao contexto.

No menu hambúrguer, dá pra configurar o Tabnine:

A interface de configurações do Tabnine mostra opções para integrações, tamanho da resposta, comportamentos personalizados, comandos personalizados, conclusões de bate-papo e melhorias no produto.

Duas configurações que valem a pena conferir são o comportamento personalizado e os comandos personalizados. Na seção de comportamento personalizado, dá pra definir um prompt que orienta o modelo na hora de gerar código. É útil quando a gente quer que o código siga umas diretrizes específicas.

Interface de configurações personalizadas do chat do Tabnine no VS Code, mostrando uma caixa de entrada de texto pra definir instruções pra personalizar as respostas da IA, incluindo um exemplo de prompt com orientações passo a passo em alemão.

A seção de comandos permite definir comandos personalizados que podem ser executados usando um / na interface de chat. Um comando é basicamente uma solicitação para fazer algo específico. Essa é uma boa maneira de economizar tempo e evitar ter que repetir a mesma solicitação várias vezes.

Interface Tabnine para definir novos comandos personalizados, com campos para inserir o nome do comando, descrição e modelo de prompt, com opções para salvar ou cancelar.

Codificação Vibe de um editor de imagens com IA usando o Tabnine

Nesta seção, vou te mostrar como criar um aplicativo Python que usa o Nano Banana, o mais recente modelo de geração de imagens do Google, para editar imagens. O usuário pode usar um prompt para criar uma imagem ou juntar e editar imagens que já existem com o prompt.

Meu objetivo era ver se dava pra fazer esse aplicativo com o vibe-code, ou seja, montar tudo do zero usando prompts.

Todo o código gerado neste tutorial pode ser encontrado neste repositório GitHub. este repositório GitHub.

Criando a interface do usuário básica

Pra começar, eu queria criar a interface básica onde os usuários pudessem escolher imagens do computador e digitar um comando. Criei uma nova pasta e abri o VS Code nessa pasta. Eu não criei nenhum arquivo. Essa foi a minha primeira sugestão:

Sugestão de design de interface gráfica do usuário no Tabnine, sugerindo a criação de uma interface para selecionar imagens de um computador.

Só depois é que percebi que esqueci de falar que estava criando um aplicativo Python. De alguma forma, tive sorte, e foi isso que o modelo de IA achou que eu queria. Ele respondeu ao meu comando explicando os comandos que executaria e o código que escreveria.

Para fazer as alterações, precisamos aplicá-las uma a uma ou clicar no botão “Aplicar tudo” na parte inferior da tela. Observe que algumas das alterações envolvem a execução de comandos. Nesses casos, os comandos instalam os pacotes Python necessários e criam os arquivos e pastas para guardar o código.

Essa era a aparência da interface quando eu executei o script que ele criou:

Interface de edição de imagens com IA, com uma área para digitar o caminho do arquivo da imagem e um botão “Selecionar Imagens” na parte de baixo.

Na parte superior, tem uma lista com todas as imagens selecionadas e um botão pra abrir um seletor de arquivos. O usuário pode escolher um ou mais arquivos, e os arquivos escolhidos são listados. Mas, quando novos arquivos são selecionados, a lista antiga é substituída, então pedi para acrescentar os novos arquivos à lista em vez de remover os antigos.

Depois, eu quis melhorar a interface do usuário pra mostrar as miniaturas das imagens em vez dos caminhos delas:

Prompt da interface de codificação sugerindo a exibição de miniaturas em vez de caminhos de imagem com solução de código envolvendo a biblioteca Pillow para processamento de imagens.

Este é o resultado:

Interface de um editor de imagens com IA em um fundo escuro, mostrando miniaturas de imagens e um botão “Selecionar Imagens” na parte de baixo, feito pra interação do usuário com recursos de seleção de arquivos.

Outra coisa importante é poder tirar imagens facilmente:

Prompt da interface do usuário na interface do Tabnine com um comando para ativar a remoção da imagem da seleção.

Com essa sugestão, ele mudou o código para que, quando clicássemos com o botão direito do mouse em uma miniatura, aparecesse um menu pop-up, permitindo que apagássemos a imagem. Eu queria que funcionasse assim, então peço essa mudança:

Texto de prompt em uma interface de codificação de IA para criar um menu pop-up do botão direito do mouse com uma opção de exclusão.

Quando eu tentei usar o aplicativo depois dessa mudança, a exclusão de imagens não estava mais funcionando. Achei que fosse porque estou usando um Mac, mas não falei nada. Queria ver se ele conseguia descobrir sozinho.

Interface de chat mostrando um usuário relatando um problema com a funcionalidade do clique direito que não está funcionando, seguido por uma resposta dizendo que é um problema comum entre plataformas com o tkinter.

Funcionou super bem, e consegui clicar com o botão direito do mouse em uma imagem para apagá-la:

A última etapa na interface básica foi adicionar uma caixa de texto para o prompt.

Sugestão da interface do usuário de um assistente de codificação de IA para adicionar uma entrada de texto com várias linhas chamada “Prompt” abaixo das pré-visualizações das imagens.

Com isso, a interface do usuário básica ficou pronta. A gente pode escolher imagens e digitar um prompt. Mas ainda não dá pra criar uma imagem. É isso que vamos implementar na próxima seção.

Integrando a Nano Banana

Pra manter o código organizado, pedi pra criar um novo script Python com uma função que usa a API de IA generativa do Google com o modelo de imagem mais recente deles pra gerar imagens.

Crie um script Python pra gerar imagens usando o modelo Nano Banana do Google, com gerenciamento de chave API por meio de um arquivo .env.

Ele criou o novo script e o arquivo .env. Esse arquivo é usado pra guardar a chave API necessária pra se conectar à API do Google. Se você está acompanhando, vai precisar criar uma chave API aqui e colocá-la no arquivo .env.

Então, pedi pra adicionar um novo botão na interface pra chamar a função de geração de imagens. Ele adicionou o botão, mas quando cliquei nele, apareceu um erro. Então, eu me certifiquei de adicionar o terminal ao contexto antes de pedir para corrigir o erro.

Interface do Tabnine no Visual Studio Code mostrando os escopos selecionados: arquivo atual, área de trabalho e terminal, com opções para adicionar ou redefinir o escopo.

Mensagem de erro mostrada na interface do Tabnine durante a execução do script.

Fiz algumas atualizações nos arquivos, mas o erro continuou. Tentei consertar, mas não deu certo. Começou a dizer que o modelo de IA não existia e queria mudar o código de uma forma que eu sabia que não estava certa.

Pra resolver isso, tive que corrigir o código manualmente. Fui ao site oficial da Gemini e copiei e adaptei o código de exemplo de lá.

Essa é uma das razões pelas quais acho importante ter algum conhecimento básico sobre programação, mesmo quando programação vibe. Muitas vezes a gente se depara com algo que o modelo de IA não consegue resolver, e saber programar é importante pra gente entender que o que o modelo tá dizendo não tá certo e poder corrigir isso. Esse tipo de ferramenta deve ser usado sempre para acelerar o processo, não para substituí-lo completamente.

Mas, mesmo tendo que escrever esse código manualmente, o Tabnine foi útil por causa dos recursos de preenchimento automático. Por exemplo, quando eu quis converter os caminhos das imagens selecionadas em imagens para fornecer ao modelo, bastava começar a digitar o que eu queria e obtinha o código correto:

Trecho de código que mostra o recurso de preenchimento automático do Tabnine.

Também vemos acima do nome da função que o Tabnine oferece ferramentas para editar, testar, corrigir, explicar e documentar a função. Por exemplo, usei a função documentar para documentar o código, e ela me mostrou uma comparação com as alterações que planejava fazer, que eu poderia aceitar ou rejeitar:

Resultado final

O aplicativo agora estava funcionando e pronto para ser usado. Vamos tentar criar uma figura de ação para uma determinada pessoa com acessórios tirados de outras imagens:

E aí está o resultado:

Testando com o Tabnine

É super importante escrever testes automatizados quando estiver trabalhando em um projeto. Uma das funções do Tabnine é nos ajudar a escrever esses testes.

Esse recurso tá disponível na aba “Testar” ou clicando na opção “Testar” acima da definição de uma função. Quando fizermos isso, o Tabnine vai criar um plano de teste para essa função.

Interface Tabnine no VS Code mostrando a criação de um novo plano de teste com opções para revisar um arquivo de teste existente ou criar um novo, junto com recursos de edição de código Python.

Um plano de teste é composto por cenários com o comportamento esperado da função. Aqui estão alguns dos cenários que a Tabnine identificou para a nossa função:

Interface do plano de teste mostrando os caminhos dos módulos e arquivos de teste selecionados, com casos de teste sugeridos para um gerador de imagens de IA.

Para criar um teste para um cenário específico, basta clicar nele. Isso vai gerar a função de teste para esse cenário específico, que a gente pode integrar ao nosso conjunto de testes.

Quando apliquei essas alterações, o arquivo de teste continha a função de teste e nada mais. Faltavam as importações e a classe de teste ao redor. Tive que voltar para a aba “Chat” para pedir que terminasse de fazer o teste. Depois disso, tive um erro porque o nome do arquivo que ele criou estava errado. Como antes, eu disse que tinha ocorrido um erro e ele corrigiu. Agora o teste funciona direitinho.

Quando adicionei outros testes depois disso, tudo funcionou bem.

Captura de tela mostrando a saída de um terminal com uma execução do Python unittest. Ela exibe uma mensagem de erro: “Ocorreu um erro durante a chamada da API Gemini: O prompt não pode estar vazio.” O teste executou um teste em 0,001 segundos, resultando em um status “OK”, apesar do erro no prompt.

Conclusão

O Tabnine mostra seu potencial como uma ferramenta poderosa para desenvolvimento rápido, integrando-se facilmente com editores de código populares. Seus recursos de codificação assistida por IA aceleram o processo, permitindo que os desenvolvedores se concentrem na inovação, em vez de tarefas rotineiras.

Mas, minha tentativa de criar um aplicativo só com vibe-coding mostrou como é importante ter uma base sólida dos princípios de programação. Confiar cegamente no código gerado pela IA sem verificar se ele é adequado pode trazer complicações, deixando os desenvolvedores vulneráveis a erros que talvez não entendam completamente.

O Tabnine funcionou bem na maior parte do tempo, mas muitas vezes parecia que o modelo de IA por trás era o verdadeiro motor, tipo outras ferramentas como o GitHub Copilot. Embora o Tabnine seja realmente uma ferramenta útil, essa experiência mostra o valor insubstituível do conhecimento tradicional de programação para garantir o desenvolvimento eficaz e sustentável de aplicativos de software complexos.


François Aubry's photo
Author
François Aubry
LinkedIn
Engenheiro de pilha completa e fundador da CheapGPT. Ensinar sempre foi minha paixão. Desde meus primeiros dias como estudante, eu buscava ansiosamente oportunidades para dar aulas particulares e ajudar outros alunos. Essa paixão me levou a fazer um doutorado, onde também atuei como assistente de ensino para apoiar meus esforços acadêmicos. Durante esses anos, encontrei imensa satisfação no ambiente tradicional da sala de aula, promovendo conexões e facilitando o aprendizado. Entretanto, com o advento das plataformas de aprendizagem on-line, reconheci o potencial transformador da educação digital. Na verdade, participei ativamente do desenvolvimento de uma dessas plataformas em nossa universidade. Estou profundamente comprometido com a integração dos princípios tradicionais de ensino com metodologias digitais inovadoras. Minha paixão é criar cursos que não sejam apenas envolventes e informativos, mas também acessíveis aos alunos nesta era digital.
Tópicos

Aprenda IA com esses cursos!

Curso

Building AI Agents with Google ADK

1 h
2.5K
Build a customer-support assistant step-by-step with Google’s Agent Development Kit (ADK).
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Os 7 principais geradores de vídeo com IA para 2024 com vídeos de exemplo

Descubra os principais geradores de vídeo com IA disponíveis atualmente, incluindo RunwayML, Synthesia, Colossyan, Pictory, DeepBrain AI, Invideo e os altamente esperados Sora e Veo da DeepMind.
Machine Learning

blog

25 projetos de aprendizado de máquina para todos os níveis

Projetos de aprendizado de máquina para iniciantes, estudantes do último ano e profissionais. A lista consiste em projetos guiados, tutoriais e exemplos de código-fonte.
Abid Ali Awan's photo

Abid Ali Awan

15 min

cursor ai code editor

Tutorial

AI do cursor: Um guia com 10 exemplos práticos

Saiba como instalar o Cursor AI no Windows, macOS e Linux e descubra como usá-lo em 10 casos de uso diferentes.

Tutorial

Criação de modelos de redes neurais (NN) em R

Neste tutorial, você aprenderá a criar um modelo de rede neural no R.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Visão GPT-4: Um guia abrangente para iniciantes

Este tutorial apresentará tudo o que você precisa saber sobre o GPT-4 Vision, desde o acesso a ele, passando por exemplos práticos do mundo real, até suas limitações.
Arunn Thevapalan's photo

Arunn Thevapalan

Tutorial

Dominando a retropropagação: Um guia abrangente para redes neurais

Mergulhe nos fundamentos da retropropagação em redes neurais com um guia prático para treinar e avaliar um modelo para um cenário de uso de classificação de imagens.
Zoumana Keita 's photo

Zoumana Keita

Ver maisVer mais