Integração com o Editor
A integração com IDE exibe erros de lint, problemas de tipo e correções de formatação enquanto você digita. Loops de feedback rápidos mantêm o código limpo sem esperar pela CI.
Receita
Extensões do VS Code:
charliermarsh.ruff(Ruff)ms-python.mypy-type-checkerou Pylance integrado (pyright)
// .vscode/settings.json
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "charliermarsh.ruff",
"[python]": {
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit",
"source.organizeImports.ruff": "explicit"
}
},
"ruff.configuration": "pyproject.toml"
}Quando usar isso:
- Configurando uma nova máquina de desenvolvedor
- Erros de lint só aparecem na CI (tarde demais)
- Equipe deseja comportamento consistente do editor através de configurações commitadas
Exemplo de Trabalho
// .vscode/settings.json (faça commit deste arquivo)
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"editor.formatOnSave": true,
"editor.defaultFormatter": "charliermarsh.ruff",
"ruff.enable": true,
"ruff.lint.run": "onSave",
"mypy-type-checker.args": ["src/"],
"mypy-type-checker.severity": {
"error": "Error",
"note": "Information"
}
}// .vscode/extensions.json
{
"recommendations": [
"charliermarsh.ruff",
"ms-python.python",
"ms-python.mypy-type-checker"
]
}O que isso demonstra:
- Formatação ao salvar com ruff
- Organização de imports ao salvar
- Erros mypy exibidos inline
- Recomendações de extensão para configuração com um clique
Mergulho Profundo
Configuração do VS Code
| Configuração | Efeito |
|---|---|
formatOnSave | Formata automaticamente com ruff |
source.fixAll.ruff | Corrige automaticamente violações de lint |
source.organizeImports.ruff | Ordena imports ao salvar |
python.defaultInterpreterPath | Aponta para o .venv do projeto |
Configuração do PyCharm
- Configurações > Ferramentas > Ruff: habilitar, apontar para o
pyproject.tomldo projeto - Configurações > Ferramentas > Python Integrated Tools > Default formatter: Ruff
- Habilitar plugin mypy: Configurações > Ferramentas > Mypy, definir caminho de configuração
Armadilhas
- Intérprete Python errado - o lint é executado contra pacotes do sistema. Correção: selecione o intérprete
.venvna barra de status do VS Code. - Nenhum
.vscode/settings.jsoncommitado - cada desenvolvedor configura de forma diferente. Correção: comite configurações compartilhadas (não atalhos de teclado pessoais). - Pylance e mypy ambos habilitados - erros duplicados. Correção: escolha um verificador de tipos no editor; execute o outro na CI, se necessário.
- Formatar ao salvar sem a extensão ruff - conflitos com Black ou autopep8. Correção: defina
defaultFormatterpara ruff explicitamente. - Ruff não encontra
pyproject.toml- executa com os padrões. Correção: abra a pasta raiz do projeto, não uma subpasta.
Alternativas
| Alternativa | Usar Quando | Não Usar Quando |
|---|---|---|
| Apenas CI | Sem tempo de configuração local | Desenvolvimento ativo |
| Neovim + conform.nvim | Fluxo de trabalho centrado no terminal | Equipe usa VS Code |
| Editor Zed | Alternativa leve | Precisa das ferramentas Django do PyCharm |
FAQs
VS Code ou PyCharm para Python?
Ambos funcionam bem. VS Code + ruff + Pylance é mais leve. PyCharm se destaca em refatoração Django.
Como seleciono o venv no VS Code?
Paleta de Comandos > Python: Selecionar Intérprete > escolha .venv/bin/python.
Pylance substitui mypy?
Pylance (pyright) é rápido para edição. mypy na CI captura problemas que Pylance pode perder. Use ambos ou escolha um.
Como desabilito a formatação ao salvar para um arquivo?
Não facilmente por arquivo. Use blocos # fmt: off para seções específicas.
Posso compartilhar configurações sem forçá-las?
Use extensions.json para recomendações; settings.json para padrões de equipe. Sobrescrições pessoais vão nas configurações do usuário.
Como vejo erros do ruff inline?
Instale a extensão ruff. Erros aparecem como ondulações; passe o mouse para obter a explicação da regra.
Configuração do plugin ruff no PyCharm?
Instale o plugin Ruff do marketplace. Habilite em Configurações > Ferramentas > Ruff.
E sobre devcontainers?
Adicione extensões em devcontainer.json customizations.vscode.extensions.
Como corrijo todos os problemas do ruff de uma vez?
Paleta de Comandos > Ruff: Corrigir todos os problemas corrigíveis automaticamente.
O editor mostra erros diferentes da CI?
Sincronize a versão do ruff no rev do pre-commit com a dependência de desenvolvimento em pyproject.toml.
Relacionados
- Configuração do Ruff - configuração do ruff
- Hooks do pre-commit - verificações em nível de git
- mypy & pyright na CI - verificação de tipos
- Melhores Práticas de Linting e Formatação - padrões de equipe
Versões da Stack: Esta página foi escrita para Python 3.14.0, FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.