DEV Community

gabrielacarvalho
gabrielacarvalho

Posted on

Você já usa IA pra codar. Mas será que tá usando do jeito certo?

Você já usa IA pra codar. Mas será que tá usando do jeito certo?

Extensão instalada, atalho configurado... Você abre o painel lateral, descreve o que precisa, a IA responde. Funciona. É sensacional.

Masvocê já tentou usar o Claude Code direto no terminal?

A maioria das devs que usa extensões de IA nunca fez essa transição, até porque a extensão já resolve. O conforto vira um teto invisível.

O problema é que extensão e CLI não são a mesma coisa com visual diferente. São formas de trabalho diferentes, com resultados diferentes.

E a diferença não é só estética. Na extensão, você tende a trabalhar de forma reativa: abre um arquivo, seleciona um trecho, faz uma pergunta. A IA responde sobre aquilo. Na CLI, a dinâmica muda. Você descreve uma tarefa, e o Claude Code age sobre o projeto: lê os arquivos que precisar, propõe mudanças, cria testes, refatora. Você não dirige cada passo, você revisa o resultado.

No terminal você consegue rodar múltiplas sessões paralelas. Uma por módulo, uma por feature, sem misturar contexto. E qualquer pessoa que fez essa transição relata a mesma coisa: os prompts ficam mais precisos, porque a interface CLI te força a pensar antes de escrever.

Não é sobre abandonar sua IDE. É sobre como você trabalha com a IA dentro dela.


CLI ou extensão ? qual a diferença real?

O Claude Code existe em duas formas: CLI (terminal nativo) e extensão para VS Code. E tem um mal-entendido comum sobre as duas.

A extensão não é um produto separado. Ela funciona como uma ponte que conecta o CLI ao ambiente visual do VS Code. O CLI está embutido dentro dela. Não são concorrentes: a extensão envolve o CLI.

⌨️ CLI —> Terminal nativo

É a forma original e mais poderosa. Você roda claude direto no terminal (iTerm, Windows Terminal, terminal do IntelliJ) e toda a interação acontece ali.

  • Controle total do contexto: edita mensagens anteriores e "rebobina" o estado do código com Double-ESC;
  • Funcionalidades interativas completas que dependem de TTY: checklists de confirmação, prompts de seleção multi-step;
  • Mais leve em recursos do sistema;
  • Múltiplas sessões paralelas. Cada uma no seu terminal.

🖥️ Extensão VS Code

Interface gráfica nativa integrada ao VS Code é a forma recomendada pela Anthropic pra quem usa VS Code.

  • Diffs inline com accept/reject visual, parecido com o Copilot;
  • @-mention em arquivos com intervalos de linha específicos;
  • Histórico de conversas e múltiplas abas;
  • Revisão e edição dos planos do Claude antes de aceitar;
  • Curva de entrada mais suave.

⚠️ Detalhe técnico: quando você roda o Claude Code dentro do terminal integrado do VS Code, algumas features que dependem de TTY não funcionam igual a um terminal nativo, como checklists de planos multi-step. Quem usa só a extensão pode nunca ver essas features e achar que são bugs.


Por que forçar o uso do terminal vale a pena?

Se você está acostumada com extensões visuais, o terminal pode parecer um retrocesso. Mas quem fez essa transição relata algo consistente:

"Me forcei a usar o CLI e isso realmente me fez pensar com mais clareza sobre o que estou pedindo. **Extensão = conforto. Terminal = uso mais deliberado."
— r

No terminal, você tende a ser mais precisa. Você pensa antes de escrever. E isso muda a qualidade das respostas.

Outros benefícios que aparecem na comunidade:

"Só uso CLI porque me permite rodar múltiplas sessões em paralelo para um ou mais projetos."

"Tenho 9 instâncias abertas. Nunca mais uso o app desktop. Cansei do inferno de copiar e colar."

"Comecei com a extensão, migrei pro CLI no terminal do Cursor e depois passei a rodar no tmux em servidor Linux."

"Sua preferência por usar CLI deve estar alinhada com como você usa o Git. Se usa Git no terminal, vai se sentir natural aqui também."

A maioria das pessoas que migrou do visual pro CLI não voltou.

💡 Por onde começar: use o terminal integrado da sua própria IDE. O Alt + F12 do IntelliJ. Você mantém o conforto visual do ambiente, mas já desenvolve o hábito do CLI.


Instalação e configuração passo a passo

Vou mostrar como configurar no IntelliJ IDEA, mas o processo funciona em qualquer IDE com terminal integrado (VSCode, Eclipse, etc.).

1. Node.js 18+ instalado

node --version
Enter fullscreen mode Exit fullscreen mode

Se não tiver, baixe em nodejs.org ou via nvm.

2. Instale via npm

npm install -g @anthropic-ai/claude-code
Enter fullscreen mode Exit fullscreen mode

Confirme a instalação:

claude --version
Enter fullscreen mode Exit fullscreen mode

3. Autenticação

Na primeira execução, ele abre o navegador pra login com sua conta Anthropic. Após autenticar, a sessão fica salva localmente.

claude
Enter fullscreen mode Exit fullscreen mode

4. Abrindo o terminal no IntelliJ

Alt + F12 (Windows/Linux) ou ⌥ F12 (Mac) ou vá em View → Tool Windows → Terminal.

5. Navegue até o projeto e inicie

cd /seu/projeto
claude
Enter fullscreen mode Exit fullscreen mode

O Claude Code indexa seu projeto e já está pronto pra receber comandos.

~/projetos/meu-servico-java $ claude

─────────────────────────────────────
✦ Claude Code v1.x.x
  Analisando projeto... encontrei 47 arquivos Java
  pom.xml detectado → projeto Maven/Spring Boot
─────────────────────────────────────

Como posso ajudar?
> _
Enter fullscreen mode Exit fullscreen mode

Primeiros comandos na prática

Vou mostrar como uso no dia a dia com Java e Spring Boot.

Entendendo um erro de compilação

> Estou com NullPointerException na linha 42 do PedidoService. Pode analisar?

Claude: Vou verificar o PedidoService.java...

O problema está em pedido.getCliente().getNome()
sem verificar se getCliente() retorna null.

Sugestão:
Optional.ofNullable(pedido.getCliente())
    .map(Cliente::getNome)
    .orElse("Cliente não identificado");

Quer que eu aplique essa correção no arquivo?
Enter fullscreen mode Exit fullscreen mode

Gerando testes unitários

> Gera testes JUnit 5 com Mockito pro método calcularDesconto() do DescontoService

Claude: Lendo DescontoService.java e suas dependências...
Criando DescontoServiceTest.java com 4 cenários:

   desconto aplicado para cliente VIP
   sem desconto para cliente comum
   lança exceção quando valor é negativo
   desconto máximo não ultrapassa 50%

 Arquivo criado: src/test/java/.../DescontoServiceTest.java
Enter fullscreen mode Exit fullscreen mode

Revisando antes de um PR

> Revisa as mudanças no branch atual antes de eu abrir o PR.

Claude: Analisando diff do branch feature/pagamento-pix...

⚠ PagamentoController.java (linha 87):
   Tratamento de exceção muito genérico,pode esconder erros
⚠ PixService.java (linha 134):
   Timeout hardcoded, considera externalizar no application.yml
✓ Cobertura de testes: adequada para os métodos alterados
✓ Nomenclatura: seguindo padrões do projeto
Enter fullscreen mode Exit fullscreen mode

Casos de uso do dia a dia

Esses são os cenários em que o Claude Code realmente brilha numa rotina de backend:

  • 🧟 Código legado — peça pra Claude explicar um método de 200 linhas sem comentário. Ela lê o arquivo inteiro e resume o que está acontecendo.
  • 🧪 Geração de testes — JUnit + Mockito com happy path e edge cases. Salva muito tempo quando a cobertura está baixa.
  • 📝 Documentação rápida — gera Javadoc em métodos sem documentação. Útil antes de compartilhar código com o time.
  • 🔄 Refatoração — peça pra extrair um método, aplicar um design pattern ou reduzir duplicação. Ela propõe, você aprova.
  • 🐛 Debug assistido — cole a stack trace e peça análise. Ela cruza com o código do projeto pra apontar a causa raiz.
  • ⚙️ Config e boilerplate — beans Spring, DTOs, mappers. As partes chatas que consomem tempo sem agregar raciocínio.

💡 Dica de fluxo: mantenha o Claude Code aberto em uma aba do terminal integrado do IntelliJ e o código na outra. Você nunca precisa minimizar nada.


Limitações que ninguém te conta

Seria desonesto não falar das limitações. Saber quando não usar o Claude Code é tão importante quanto saber quando usar.

  • 📦 Projetos muito grandes: o contexto tem limite. Seja específica. Aponte o arquivo ou módulo que quer analisar em vez de pedir uma análise geral.
  • 💰 Custo de tokens: Claude Code usa a API da Anthropic, cobrada por token. Acompanhe seu consumo no painel.
  • 🌐 Precisa de internet: diferente de modelos locais (LM Studio, Ollama), depende da API. Offline não funciona.
  • 🔒 Código sensível: cuidado com dados confidenciais. Cheque a política da sua empresa antes de enviar código pra API.
  • 🤔 Quando a extensão ainda ganha: pra conversas exploratórias e conceituais, a interface visual ainda é mais confortável.
  • ✅ Sempre revise o diff: Claude propõe mudanças e você aprova. Nunca aceite sem ler. Código correto em isolamento pode não funcionar no contexto do seu sistema.

Muda o onde, muda o como

Usar IA pela extensão funciona. Mas quando você coloca ela dentro do terminal, dentro do seu fluxo, sem atrito, a relação muda. Você deixa de usar IA como ferramenta de consulta e começa a usar como parceira de desenvolvimento.

Não é sobre substituição. É sobre reduzir a resistência entre a dúvida e a resposta, entre o erro e a solução.

Experimenta. Abre o terminal do IntelliJ agora e digita claude. E me conta como foi 💜


Me segue no Instagram e LinkedIn: *@deployada** · Conteúdo de tech pra mulheres que codam 💜*

Top comments (0)