Phase 00 - Lesson 08
Configuração do Editor
Seu editor é seu copiloto. Configure-o uma vez para que ele saia do seu caminho e comece a contribuir.
Tipo: Build Linguagens: -- Pré-requisitos: Fase 0, Lição 01 Tempo: ~20 minutos
Objetivos de Aprendizagem
- Instalar o VS Code com extensões essenciais para Python, Jupyter, linting e SSH remoto
- Configurar formatação ao salvar, verificação de tipos e rolagem de saída de notebooks para fluxos de trabalho de IA
- Configurar o Remote SSH para editar e depurar código em máquinas GPU remotas como se fossem locais
- Avaliar editores alternativos (Cursor, Windsurf, Neovim) e seus tradeoffs para o trabalho com IA
O Problema
Você passará milhares de horas dentro do seu editor escrevendo Python, rodando notebooks, depurando loops de treinamento e acessando máquinas GPU por SSH. Um editor mal configurado transforma cada sessão em atrito: sem autocompletar, sem dicas de tipo, sem erros inline, formatação manual e um fluxo de trabalho de terminal desajeitado.
A configuração certa leva 20 minutos. Pular essa etapa custa 20 minutos todos os dias.
O Conceito
Uma configuração de editor para engenharia de IA precisa de cinco coisas:
graph TD
L5["5. Remote Development<br/>SSH into GPU boxes, cloud VMs"] --> L4
L4["4. Terminal Integration<br/>Run scripts, debug, monitor GPU"] --> L3
L3["3. AI-Specific Settings<br/>Auto-format, type checking, rulers"] --> L2
L2["2. Extensions<br/>Python, Jupyter, Pylance, GitLens"] --> L1
L1["1. Base Editor<br/>VS Code — free, extensible, universal"]
Mãos à Obra
Passo 1: Instalar o VS Code
O VS Code é o editor recomendado. É gratuito, roda em todos os sistemas operacionais, tem suporte de primeira classe a notebooks Jupyter, e o ecossistema de extensões cobre tudo o que você precisa para o trabalho com IA.
Baixe-o em code.visualstudio.com.
Verifique a partir do terminal:
code --version
Se code não for encontrado no macOS, abra o VS Code, pressione Cmd+Shift+P, digite "Shell Command" e selecione "Install 'code' command in PATH".
Passo 2: Instalar as Extensões Essenciais
Abra o terminal integrado no VS Code (Ctrl+`` ou Cmd+`) e instale as extensões que importam para o trabalho com IA:
code --install-extension ms-python.python
code --install-extension ms-python.vscode-pylance
code --install-extension ms-toolsai.jupyter
code --install-extension eamodio.gitlens
code --install-extension ms-vscode-remote.remote-ssh
code --install-extension ms-python.debugpy
code --install-extension ms-python.black-formatter
code --install-extension charliermarsh.ruff
O que cada uma faz:
| Extensão | Por quê |
|---|---|
| Python | Suporte à linguagem, detecção de ambiente virtual, run/debug |
| Pylance | Verificação de tipos rápida, autocompletar, resolução de imports |
| Jupyter | Rodar notebooks dentro do VS Code, explorador de variáveis |
| GitLens | Ver quem alterou o quê, git blame inline |
| Remote SSH | Abrir uma pasta em uma máquina GPU remota como se fosse local |
| Debugpy | Depuração passo a passo para Python |
| Black Formatter | Formatação automática ao salvar, estilo consistente |
| Ruff | Linting rápido, detecta erros comuns |
O arquivo code/.vscode/extensions.json nesta lição contém a lista completa de recomendações. Ao abrir a pasta do projeto, o VS Code solicitará que você as instale.
Passo 3: Configurar as Settings
Copie as configurações de code/.vscode/settings.json nesta lição, ou aplique-as manualmente através de Settings > Open Settings (JSON).
As configurações-chave para o trabalho com IA:
{
"python.analysis.typeCheckingMode": "basic",
"editor.formatOnSave": true,
"editor.rulers": [88, 120],
"notebook.output.scrolling": true,
"files.autoSave": "afterDelay"
}
Por que elas importam:
- Verificação de tipos no modo basic: Detecta tipos de argumento errados antes de você rodar. Economiza tempo de depuração em incompatibilidades de shape de tensores e parâmetros de API errados.
- Formatação ao salvar: Nunca mais pense em formatação. O Black cuida disso.
- Rulers em 88 e 120: O Black quebra em 88. O marcador de 120 mostra quando docstrings e comentários estão ficando longos demais.
- Rolagem de saída de notebook: Loops de treinamento imprimem milhares de linhas. Sem rolagem, o painel de saída explode.
- Auto-save: Você vai esquecer de salvar. Seu script de treinamento vai rodar código desatualizado. O auto-save evita isso.
Passo 4: Integração com o Terminal
O terminal integrado do VS Code é onde você roda scripts de treinamento, monitora GPUs e gerencia ambientes.
Configure-o corretamente:
{
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.fontSize": 13,
"terminal.integrated.scrollback": 10000
}
Atalhos úteis:
| Ação | macOS | Linux/Windows |
|---|---|---|
| Alternar terminal | Ctrl+` |
Ctrl+` |
| Novo terminal | Ctrl+Shift+`` |
Ctrl+Shift+`` |
| Dividir terminal | Cmd+\ |
Ctrl+\ |
Terminais divididos são úteis: um para rodar seu script, outro para monitorar a GPU com nvidia-smi -l 1 ou watch -n 1 nvidia-smi.
Passo 5: Desenvolvimento Remoto (SSH para Máquinas GPU)
Esta é a extensão mais importante para o trabalho com IA. Você rodará treinamentos em máquinas remotas (VMs na nuvem, servidores de laboratório, Lambda, Vast.ai). O Remote SSH permite abrir o sistema de arquivos remoto, editar arquivos, rodar terminais e depurar como se tudo fosse local.
Configuração:
- Instale a extensão Remote SSH (feito no Passo 2).
- Pressione
Ctrl+Shift+P(ouCmd+Shift+P), digite "Remote-SSH: Connect to Host". - Insira
user@your-gpu-box-ip. - O VS Code instala seu componente de servidor na máquina remota automaticamente.
Para acesso sem senha, configure chaves SSH:
ssh-keygen -t ed25519 -C "your-email@example.com"
ssh-copy-id user@your-gpu-box-ip
Adicione o host a ~/.ssh/config por conveniência:
Host gpu-box
HostName 203.0.113.50
User ubuntu
IdentityFile ~/.ssh/id_ed25519
ForwardAgent yes
Agora Remote-SSH: Connect to Host > gpu-box conecta instantaneamente.
Alternativas
Cursor
O cursor.com é um fork do VS Code com geração de código por IA integrada. Ele usa o mesmo ecossistema de extensões e formato de configurações. Se você usa o Cursor, tudo nesta lição ainda se aplica. Importe os mesmos settings.json e extensions.json.
Windsurf
O windsurf.com é outro fork do VS Code com foco em IA. A mesma história: mesmas extensões, mesmo formato de configurações, mesmo suporte a Remote SSH.
Vim/Neovim
Se você já usa Vim ou Neovim e é produtivo nele, fique nele. A configuração mínima para trabalho com Python em IA:
- pyright ou pylsp para verificação de tipos (via Mason ou instalação manual)
- nvim-lspconfig para integração com language servers
- jupyter-vim ou molten-nvim para execução estilo notebook
- telescope.nvim para busca de arquivos/símbolos
- none-ls.nvim com black e ruff para formatação/linting
Se você ainda não usa Vim, não comece agora. A curva de aprendizado vai competir com o aprendizado de engenharia de IA. Use o VS Code.
Use Isso
Com esta configuração, seu fluxo de trabalho diário fica assim:
- Abra a pasta do projeto no VS Code (ou conecte via Remote SSH a uma máquina GPU).
- Escreva Python no editor com autocompletar, dicas de tipo e erros inline.
- Rode notebooks Jupyter inline com a extensão Jupyter.
- Use o terminal integrado para scripts de treinamento,
uv pip installe monitoramento de GPU. - Revise as mudanças com o GitLens antes de fazer commit.
Exercícios
- Instale o VS Code e todas as extensões listadas no Passo 2
- Copie o
settings.jsondesta lição para a sua configuração do VS Code - Abra um arquivo Python e verifique se o Pylance mostra dicas de tipo e se o Black formata ao salvar
- Se você tiver acesso a uma máquina remota, configure o Remote SSH e abra uma pasta nela
Termos-Chave
| Termo | O que as pessoas dizem | O que realmente significa |
|---|---|---|
| LSP | "Motor de autocompletar" | Language Server Protocol: um padrão para editores obterem informações de tipo, sugestões e diagnósticos a partir de um servidor específico da linguagem |
| Pylance | "O plugin do Python" | O language server de Python da Microsoft, que usa o Pyright para verificação de tipos e IntelliSense |
| Remote SSH | "Trabalhar no servidor" | Extensão do VS Code que roda um servidor leve em uma máquina remota e transmite a interface para o seu editor local |
| Formatação ao salvar | "Auto-prettier" | O editor roda um formatador (Black, Ruff) toda vez que você salva, então o estilo do código é sempre consistente |