---
title: "VS Code para Python: Configuração Completa"
url: "https://python.dev.br/guias/configurando-vscode-para-python/"
markdown_url: "https://python.dev.br/guias/configurando-vscode-para-python.MD"
description: "Aprenda a configurar o Visual Studio Code para desenvolvimento Python. Extensões essenciais, debugging, linting, formatação e atalhos"
date: "2025-11-02"
author: ""
---

# VS Code para Python: Configuração Completa

Aprenda a configurar o Visual Studio Code para desenvolvimento Python. Extensões essenciais, debugging, linting, formatação e atalhos


## Introdução

O Visual Studio Code (VS Code) é o editor de código mais popular entre desenvolvedores Python. Gratuito, leve e altamente extensível, ele oferece uma experiência de desenvolvimento completa quando configurado corretamente.

Neste guia, vamos configurar o VS Code do zero para Python, incluindo extensões essenciais, debugging, linting, formatação automática e atalhos úteis.

## Instalando o VS Code

### Download

Acesse [code.visualstudio.com](https://code.visualstudio.com/) e baixe a versão para seu sistema operacional. A instalação é simples — siga o assistente padrão.

### Comando de terminal

Depois de instalar, abra o VS Code e pressione `Cmd + Shift + P` (macOS) ou `Ctrl + Shift + P` (Windows/Linux). Digite "shell command" e selecione **"Install 'code' command in PATH"**. Isso permite abrir projetos pelo terminal:

```bash
code meu-projeto/
```

## Extensões essenciais

### Python (Microsoft)

A extensão oficial da Microsoft é obrigatória. Ela fornece:

- IntelliSense (autocompletar inteligente)
- Linting integrado
- Debugging
- Gerenciamento de ambientes virtuais
- Jupyter Notebooks

Instale procurando por "Python" no marketplace de extensões (`Ctrl + Shift + X`) ou pelo terminal:

```bash
code --install-extension ms-python.python
```

### Pylance

O Pylance é o servidor de linguagem da Microsoft para Python. Ele oferece verificação de tipos, autocompletar avançado e análise estática. Geralmente é instalado automaticamente com a extensão Python.

### Ruff

O Ruff é um linter e formatador extremamente rápido para Python, escrito em Rust. Ele substitui ferramentas como Flake8, isort e Black:

```bash
code --install-extension charliermarsh.ruff
```

### Python Indent

Corrige a indentação automática do Python no VS Code, que nem sempre funciona perfeitamente:

```bash
code --install-extension KevinRose.vsc-python-indent
```

### autoDocstring

Gera automaticamente docstrings para funções e classes Python:

```bash
code --install-extension njpwerner.autodocstring
```

### Python Test Explorer

Interface visual para executar e visualizar testes:

```bash
code --install-extension LittleFoxTeam.vscode-python-test-adapter
```

## Configurações recomendadas

Abra as configurações do VS Code (`Ctrl + ,`) e clique no ícone de documento no canto superior direito para editar o `settings.json`. Adicione ou ajuste as seguintes configurações:

```json
{
    // Python
    "python.defaultInterpreterPath": "python3",
    "python.terminal.activateEnvironment": true,

    // Editor
    "editor.formatOnSave": true,
    "editor.rulers": [88],
    "editor.tabSize": 4,
    "editor.insertSpaces": true,
    "editor.wordWrap": "on",

    // Ruff (linting e formatação)
    "[python]": {
        "editor.defaultFormatter": "charliermarsh.ruff",
        "editor.codeActionsOnSave": {
            "source.fixAll.ruff": "explicit",
            "source.organizeImports.ruff": "explicit"
        }
    },

    // Testes
    "python.testing.pytestEnabled": true,
    "python.testing.unittestEnabled": false,

    // Terminal
    "terminal.integrated.defaultProfile.linux": "bash",
    "terminal.integrated.defaultProfile.osx": "zsh",

    // Arquivos
    "files.trimTrailingWhitespace": true,
    "files.insertFinalNewline": true,
    "files.associations": {
        "*.py": "python"
    }
}
```

## Configurando o interpretador Python

O VS Code precisa saber qual interpretador Python usar. Isso é especialmente importante quando você tem múltiplas versões ou ambientes virtuais.

1. Pressione `Ctrl + Shift + P` (ou `Cmd + Shift + P` no macOS).
2. Digite **"Python: Select Interpreter"**.
3. Escolha o interpretador desejado da lista.

Se você tem um ambiente virtual no projeto, o VS Code geralmente o detecta automaticamente. Procure o interpretador em `./venv/bin/python` ou `./.venv/bin/python`.

## Debugging (depuração)

O VS Code tem um debugger Python integrado e poderoso.

### Configuração básica

1. Abra um arquivo Python.
2. Clique na margem esquerda ao lado de um número de linha para adicionar um **breakpoint** (ponto de parada).
3. Pressione `F5` ou clique em **Run > Start Debugging**.
4. Selecione **"Python File"** na lista que aparece.

### Configuração avançada (launch.json)

Para projetos mais complexos, crie um arquivo `.vscode/launch.json`:

```json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Arquivo Atual",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
        {
            "name": "Python: Django",
            "type": "debugpy",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["runserver"],
            "django": true
        },
        {
            "name": "Python: FastAPI",
            "type": "debugpy",
            "request": "launch",
            "module": "uvicorn",
            "args": ["main:app", "--reload"]
        }
    ]
}
```

### Usando o debugger

Durante a depuração, você tem acesso a:

- **Variables**: Visualize o valor de todas as variáveis no escopo atual.
- **Watch**: Adicione expressões para monitorar.
- **Call Stack**: Veja a pilha de chamadas de funções.
- **Debug Console**: Execute expressões Python no contexto atual.

Atalhos úteis durante o debugging:

| Atalho | Ação |
|--------|------|
| `F5` | Continuar execução |
| `F10` | Pular para próxima linha (Step Over) |
| `F11` | Entrar na função (Step Into) |
| `Shift + F11` | Sair da função (Step Out) |
| `Shift + F5` | Parar depuração |

## Linting e formatação

### Ruff como linter e formatador

Com a extensão Ruff instalada e as configurações acima, seu código será automaticamente:

- **Formatado ao salvar**: Indentação, espaçamento e quebras de linha são ajustados.
- **Verificado em tempo real**: Problemas aparecem sublinhados no editor.
- **Imports organizados**: Os imports são ordenados e agrupados ao salvar.

### Configurando o Ruff

Crie um arquivo `ruff.toml` na raiz do projeto para personalizar as regras:

```toml
line-length = 88
target-version = "py312"

[lint]
select = ["E", "F", "I", "N", "W", "UP"]

[format]
quote-style = "double"
indent-style = "space"
```

## Atalhos essenciais para Python

| Atalho | Ação |
|--------|------|
| `Ctrl + Shift + P` | Paleta de comandos |
| `Ctrl + P` | Abrir arquivo por nome |
| `Ctrl + Shift + X` | Marketplace de extensões |
| `Ctrl + `` ` | Abrir/fechar terminal integrado |
| `F2` | Renomear símbolo (variável, função) |
| `F12` | Ir para definição |
| `Alt + F12` | Espiar definição (peek) |
| `Ctrl + Shift + F` | Buscar em todos os arquivos |
| `Ctrl + D` | Selecionar próxima ocorrência |
| `Ctrl + /` | Comentar/descomentar linha |

No macOS, substitua `Ctrl` por `Cmd` na maioria dos atalhos.

## Snippets úteis

O VS Code permite criar snippets personalizados. Vá em **File > Preferences > Configure User Snippets > python.json** e adicione:

```json
{
    "Main block": {
        "prefix": "main",
        "body": [
            "def main():",
            "    ${1:pass}",
            "",
            "",
            "if __name__ == \"__main__\":",
            "    main()"
        ]
    },
    "Try/Except": {
        "prefix": "tryex",
        "body": [
            "try:",
            "    ${1:pass}",
            "except ${2:Exception} as e:",
            "    ${3:print(f\"Erro: {e}\")}"
        ]
    }
}
```

## Integração com Git

O VS Code tem suporte nativo a Git excelente:

- **Source Control** (`Ctrl + Shift + G`): Visualize mudanças, faça commits e gerencie branches.
- **GitLens** (extensão): Adiciona blame annotations, histórico de arquivos e mais.
- **Diff viewer**: Compare versões de arquivos lado a lado.

## Próximos passos

Com o VS Code configurado, você está pronto para desenvolver em Python com produtividade. Recomendamos explorar:

- O [glossário de termos Python](/glossario/) para se familiarizar com conceitos.
- Os [tutoriais no blog](/blog/) para aprender na prática.
- As [perguntas frequentes](/perguntas/) para tirar dúvidas comuns.

O VS Code também é excelente para outras linguagens. Descubra como configurá-lo para <a href="https://golang.com.br/blog/" target="_blank" rel="noopener" onclick="umami.track('portfolio-site-click', {source: 'python.dev.br', target: 'golang.com.br', content: 'configurando-vscode-para-python'})">desenvolvimento em Go</a> ou para <a href="https://kotlin.dev.br/blog/" target="_blank" rel="noopener" onclick="umami.track('portfolio-site-click', {source: 'python.dev.br', target: 'kotlin.dev.br', content: 'configurando-vscode-para-python'})">projetos Kotlin no kotlin.dev.br</a>.
