Configurar VS Code para Zig
O Visual Studio Code é o editor mais popular para desenvolvimento com Zig, graças à extensão oficial e ao suporte ao ZLS (Zig Language Server). Este guia mostra como configurar o VS Code para ter a melhor experiência possível de desenvolvimento com Zig, incluindo autocompletar, diagnósticos em tempo real, formatação automática e debug.
Antes de configurar o editor, certifique-se de que o Zig está instalado. Consulte o guia para sua plataforma: Ubuntu, Fedora, Arch, macOS, Windows ou WSL.
Passo 1: Instalar a Extensão Zig
Via Interface do VS Code
- Abra o VS Code
- Clique no ícone de Extensões na barra lateral (ou pressione
Ctrl+Shift+X) - Pesquise por “Zig Language”
- Instale a extensão Zig Language (identificador:
ziglang.vscode-zig)
Via Linha de Comando
code --install-extension ziglang.vscode-zig
O Que a Extensão Oferece
- Syntax highlighting (coloração de sintaxe)
- Integração com o ZLS
- Formatação automática do código
- Snippets para estruturas comuns
- Integração com o sistema de build do Zig
Passo 2: Instalar o ZLS (Zig Language Server)
O ZLS é o servidor de linguagem que fornece funcionalidades avançadas como autocompletar, “ir para definição”, diagnósticos e refatoração.
Instalação Automática via Extensão
A extensão do Zig para VS Code pode instalar o ZLS automaticamente. Na primeira vez que abrir um arquivo .zig, a extensão perguntará se deseja instalar o ZLS. Clique em “Install”.
Instalação Manual
Se preferir instalar manualmente:
Linux
ZLS_VERSION="0.14.0"
ARCH=$(uname -m)
curl -LO "https://github.com/zigtools/zls/releases/download/${ZLS_VERSION}/zls-${ARCH}-linux.tar.xz"
tar -xf "zls-${ARCH}-linux.tar.xz"
sudo mv zls /usr/local/bin/
macOS
brew install zls
Windows
scoop install zls
Verificar a Instalação do ZLS
zls --version
Passo 3: Configurar o VS Code
Abra as configurações do VS Code (Ctrl+, ou Cmd+, no macOS) e ajuste as opções para Zig.
Configuração Recomendada (settings.json)
Abra o settings.json (pressione Ctrl+Shift+P e digite “Preferences: Open User Settings (JSON)”):
{
"zig.path": "zig",
"zig.zls.path": "zls",
"zig.zls.enableSnippets": true,
"zig.zls.enableAutofix": true,
"zig.formattingProvider": "zls",
"editor.formatOnSave": true,
"[zig]": {
"editor.defaultFormatter": "ziglang.vscode-zig",
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"editor.rulers": [100],
"editor.wordWrap": "off"
},
"files.associations": {
"*.zig": "zig",
"*.zon": "zig"
}
}
Explicação das Configurações
| Configuração | Descrição |
|---|---|
zig.path | Caminho para o executável do Zig (use "zig" se está no PATH) |
zig.zls.path | Caminho para o executável do ZLS |
zig.zls.enableSnippets | Habilitar snippets de autocompletar |
zig.zls.enableAutofix | Habilitar correções automáticas |
zig.formattingProvider | Usar o ZLS para formatação |
editor.formatOnSave | Formatar automaticamente ao salvar |
Passo 4: Configurar o Debug
O VS Code suporta debug de programas Zig usando GDB ou LLDB.
Instalar Extensão de Debug
Instale a extensão CodeLLDB para debug com LLDB (recomendado para Zig):
code --install-extension vadimcn.vscode-lldb
Ou C/C++ para debug com GDB:
code --install-extension ms-vscode.cpptools
Criar Configuração de Debug
Crie o arquivo .vscode/launch.json no seu projeto:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Zig",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/zig-out/bin/${workspaceFolderBasename}",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "zig-build-debug"
},
{
"name": "Debug Test",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/zig-out/bin/test",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "zig-test-debug"
}
]
}
Criar Tasks de Build
Crie o arquivo .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "zig-build",
"type": "shell",
"command": "zig",
"args": ["build"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$zig"]
},
{
"label": "zig-build-debug",
"type": "shell",
"command": "zig",
"args": ["build"],
"problemMatcher": ["$zig"]
},
{
"label": "zig-test",
"type": "shell",
"command": "zig",
"args": ["build", "test"],
"group": {
"kind": "test",
"isDefault": true
},
"problemMatcher": ["$zig"]
},
{
"label": "zig-test-debug",
"type": "shell",
"command": "zig",
"args": ["test", "src/main.zig"],
"problemMatcher": ["$zig"]
},
{
"label": "zig-run",
"type": "shell",
"command": "zig",
"args": ["build", "run"],
"problemMatcher": ["$zig"]
}
]
}
Usar o Debug
- Compile o projeto com
Ctrl+Shift+B(task de build) - Coloque breakpoints clicando na margem esquerda do editor
- Pressione
F5para iniciar o debug - Use
F10para step over,F11para step into
Passo 5: Atalhos Úteis
Atalhos do VS Code para Zig
| Atalho | Ação |
|---|---|
F12 | Ir para a definição |
Alt+F12 | Peek definition (visualizar definição) |
Shift+F12 | Encontrar todas as referências |
F2 | Renomear símbolo |
Ctrl+Shift+B | Executar task de build |
F5 | Iniciar debug |
Ctrl+Space | Autocompletar |
Ctrl+. | Ações rápidas (quick fixes) |
Ctrl+Shift+F | Buscar em todos os arquivos |
Ctrl+P | Abrir arquivo por nome |
Atalhos Personalizados
Adicione ao keybindings.json (pressione Ctrl+Shift+P e digite “Preferences: Open Keyboard Shortcuts (JSON)”):
[
{
"key": "ctrl+shift+r",
"command": "workbench.action.tasks.runTask",
"args": "zig-run"
},
{
"key": "ctrl+shift+t",
"command": "workbench.action.tasks.runTask",
"args": "zig-test"
}
]
Passo 6: Extensões Complementares
Extensões adicionais que melhoram a experiência com Zig:
Error Lens
Mostra erros e avisos diretamente na linha do código:
code --install-extension usernamehw.errorlens
Todo Tree
Rastreia comentários TODO, FIXME e HACK no código:
code --install-extension gruntfuggly.todo-tree
GitLens
Melhor integração com Git, útil para projetos Zig colaborativos:
code --install-extension eamodio.gitlens
Hex Editor
Útil para inspecionar binários compilados com Zig:
code --install-extension ms-vscode.hexeditor
Configuração para WSL
Se você usa o WSL, a configuração é semelhante, mas com algumas diferenças:
- Instale a extensão WSL no VS Code
- Abra o VS Code do terminal WSL:
code . - Instale a extensão Zig Language dentro do contexto WSL
- Instale o ZLS dentro do WSL (não no Windows)
Veja o guia completo do WSL para mais detalhes.
Exemplo de Projeto Configurado
Estrutura completa de um projeto Zig com configuração do VS Code:
meu-projeto/
├── .vscode/
│ ├── launch.json # Configuração de debug
│ ├── tasks.json # Tasks de build e test
│ └── settings.json # Configurações do workspace
├── src/
│ ├── main.zig # Ponto de entrada
│ └── lib.zig # Biblioteca
├── build.zig # Sistema de build
└── build.zig.zon # Dependências
O settings.json do workspace (.vscode/settings.json):
{
"zig.path": "zig",
"zig.zls.path": "zls",
"editor.formatOnSave": true,
"[zig]": {
"editor.defaultFormatter": "ziglang.vscode-zig"
}
}
Problemas Comuns
ZLS não inicia
Verifique se o ZLS está instalado e acessível:
which zls
zls --version
Se o ZLS foi instalado mas o VS Code não o encontra, especifique o caminho completo no settings.json:
{
"zig.zls.path": "/usr/local/bin/zls"
}
Autocompletar não funciona
- Verifique se a extensão Zig está instalada e habilitada
- Verifique se o ZLS está rodando (veja o Output panel:
View > Output > Zig Language Server) - Certifique-se de que as versões do Zig e ZLS são compatíveis
Formatação não funciona ao salvar
Verifique se editor.formatOnSave está habilitado e se o zig.formattingProvider está configurado para "zls" ou "extension".
Para mais soluções, visite nossa página de erros comuns.
Próximos Passos
Com o VS Code configurado para Zig:
- Crie seu primeiro projeto — Primeiro projeto Zig
- Aprenda a linguagem — Introdução ao Zig
- Explore outros editores — Neovim ou Sublime/Emacs
- Configure CI/CD — GitHub Actions com Zig
- Veja exemplos — Receitas