Os desenvolvedores constroem memória muscular abrindo um terminal assim que abrem um projeto em um editor de código como o VS Code para executar o projeto localmente. Durante muito tempo, essa também foi minha rotina diária. Eu abriria o VS Code, abriria imediatamente uma janela de terminal e começaria a digitar o mesmo comando que já havia executado dezenas de vezes. npm run dev para interfaces React, uvicorn app:main sobre FastAPI e go run main.go Vá para backends e depois para Docker Compose e observe os comandos. Nenhum desses comandos era muito longo ou difícil de lembrar, mas eram repetidos em cada sessão.
A repetição começou a causar atrito, pois eu recriava manualmente o mesmo ambiente toda vez que abria o projeto. Minha configuração típica de pilha completa incluía front-end Vite, back-end FastAPI, PostgreSQL, Redis e Docker Compose. Cada serviço exigia uma guia de terminal separada e a mesma sequência de inicialização em cada sessão. Foi então que decidi experimentar o VS Code Tasks para lidar automaticamente com comandos de reinicialização. Depois de uma semana, ele não substituiu o terminal para mim, mas reduziu silenciosamente o trabalho manual de cada inicialização.
Experimentei VS Code, Google Antigravity e Claude Code por um mês e um claramente dominou
A guerra de codificação de IA aumentou.
Parei de digitar os mesmos comandos todos os dias
A repetição finalmente se tornou aparente
Meu fluxo de trabalho diário parecia navegar de um projeto Vite para outro projeto Next.js, de um back-end FastAPI para outro back-end Go e de VS Code para Antigravity e Claude Code. Uma coisa que tudo isso tinha em comum era abrir um editor de código e imediatamente abrir uma janela de terminal para ‘cd’ nos diretórios do projeto e executar os respectivos projetos. Seja um projeto Vite ou Next.js, sempre usei o mesmo comando: cd ../frontend && npm run dev. E o mesmo com back-ends FastAPI e Go; Os comandos uvicorn e go eram comuns, assim como as compilações do Docker Compose.
Repito os mesmos comandos todos os dias; eles não eram difíceis, apenas redundantes. Construí memória muscular: abra o VS Code e inicie imediatamente o back-end. E caso houvesse alguma dependência como PostgreSQL ou Redis, eu precisava executá-las primeiro e finalmente o front end. Eu recrio o mesmo ambiente em todas as sessões.
Quando eles começaram a causar atrito, decidi experimentar o executor de tarefas integrado do VS Code para reduzir a configuração repetitiva do fluxo de trabalho. Isso não era novidade no lado do VS Code, mas eu estava experimentando a automação já incorporada ao editor de código que estava usando. A instalação foi muito fácil; ele criou um arquivo tasks.json com todos os comandos e instruções reutilizáveis como um script que pode ser chamado com alguns cliques ou um atalho. O bom da configuração é que ela residia localmente no projeto, então não precisei lembrar quais comandos executar para cada projeto.
Essa execução simples eliminou instantaneamente o atrito de abrir várias janelas de terminal a cada vez. O terminal ainda estava lá, mas a execução dos comandos foi padronizada. A maior parte do uso do meu terminal não era para resolução interativa de problemas; foi uma performance repetida.
Um atalho iniciou todo o meu ambiente de desenvolvimento
A guia do terminal nunca está aberta
O verdadeiro atrito ocorreu quando eu estava lidando com o lançamento de um projeto completo, em vez de apenas um único serviço. Para um serviço, honestamente, não precisei de uma configuração separada para executá-lo. Eu poderia simplesmente abrir um terminal em um editor de código ou um aplicativo de terminal independente como Termius e executar npm run dev. O principal atrito começou a se formar ao iniciar um projeto em grande escala. Frontend Vite, backend FastAPI, PostgreSQL e Redis são necessários para começar e estar pronto; as tarefas podem inferir comandos, mas você ainda pode precisar de verificações de integridade ou aguardar scripts.
Meu fluxo de trabalho anterior era abrir uma janela de terminal para o front-end e outra para executar ou criar um contêiner Docker, aguardando a inicialização adequada do contêiner e, em seguida, executando o back-end. Não houve dificuldades técnicas, mas em algum momento começou a parecer uma repetição irritante. O executor da tarefa me ajudou a organizar todo o processo em um comando, ou para ser mais preciso, um atalho, Ctrl/Cmd+Shift+B. Para cada projeto, combino três ou quatro equipes em uma tarefa principal.
Porque cada projeto tinha um arquivo task.json separado no diretório do projeto (.vscode/tarefas.json), não precisei alterar o comando se o back-end do projeto foi alterado de FastAPI para Go. Bastava apertar o atalho e o gerenciador de tarefas cuidava de tudo. O espaço de trabalho começou a ser inicializado sem interação adicional. Não monto mais ambientes passo a passo. Eu já usava o editor constantemente, mas as tarefas deixavam o editor ciente do próprio fluxo de trabalho do projeto.
Eu ainda precisava do terminal, mas com muito menos frequência
O terminal não desapareceu completamente
Quando comecei a usar o executor de tarefas integrado, ele reduziu imediatamente a configuração repetitiva do fluxo de trabalho, mas não substituiu completamente o terminal. Houve momentos em que precisei especificamente abrir uma janela de terminal para corrigir problemas. Quer fosse para depurar contêineres quebrados ou inspecionar logs manualmente, o terminal era o único lugar para fazer isso.
Esses fluxos de trabalho são interativos e imprevisíveis, diferentemente de comandos de inicialização repetitivos, como monitoramento de serviços operacionais ou teste de hotfixes. O gerenciador de tarefas só me ajudou na primeira parte do fluxo de trabalho; depois disso, o terminal não era mais o ponto de partida padrão. Mas os fluxos de trabalho interativos ainda pertenciam ao terminal.
As tarefas do VS Code resultaram em menos guias de terminal e menos configuração manual. Mas isso não significa que as tarefas eliminaram a complexidade; eles padronizaram a execução repetida. Muitos desenvolvedores podem não estar fazendo uso suficiente da automação já incorporada em seu editor porque os terminais estão se tornando comuns muito rapidamente. Eles têm a mesma memória muscular que eu tinha ao usar o terminal, embora partes do fluxo de trabalho não exijam mais interação manual.
O Terminal ainda era essencial e fazia parte do meu fluxo de trabalho diário. Simplesmente não foi mais a primeira coisa que abri toda vez que comecei um projeto.
Reconstruí minha configuração do VS Code do zero este ano e é a mais rápida de todos os tempos.
Meu código VS estava se afogando em extensões
O terminal ainda está lá, só que mais silencioso
Quando comecei a experimentar o VS Code Tasks, meu objetivo não era substituir o Terminal. Depois de usá-los por uma semana, descobri que eles não deveriam substituir nada. O que o VS Code Tasks fez foi reduzir o trabalho manual envolvido no início de cada sessão. Quando iniciei o projeto, não precisei abrir uma janela de terminal e iniciar manualmente os serviços; em vez disso, eu poderia me concentrar no trabalho real. Ainda usei o terminal para tarefas que exigiam interação real, como depuração, solução de problemas e comandos únicos. Depois de uma semana usando o VS Code Tasks, eu ainda conhecia os comandos; Eu simplesmente não os gravei mais de memória em todas as sessões.









