Uma IDE completa para Pawn dentro do seu editor. O PawnPro é uma extensão para VS Code e VSCodium que traz para o desenvolvimento SA-MP / open.mp o que outras linguagens têm há anos: um motor de análise que entende o seu código de verdade, compilação e depuração com um atalho, e o servidor sob controle sem sair do editor.
Escrever gamemode não precisa ser editor de texto, terminal e ALT+TAB.
Quem desenvolve em Pawn conhece o ciclo: salvar, trocar de janela, compilar,
ler um erro sem contexto, voltar, procurar a linha. Erro de digitação num nome de
função? Só se descobre no compilador. Quer saber o que aquele native faz? Abre o
.inc e lê o código.
O PawnPro corta esse ciclo. O código é analisado enquanto você escreve — por um motor próprio escrito em Rust, não por expressões regulares — então o erro aparece na linha onde está, o autocomplete conhece os seus includes, e a documentação da função aparece ao passar o mouse.
- Autocomplete que conhece o seu projeto — funções, natives, constantes e
macros de todos os
.incque você inclui, transitivamente. Ordenado por proximidade: o que está perto do cursor vem primeiro. - Documentação no hover e no signature help — o comentário acima da função
vira texto formatado, nos formatos Javadoc (
@param) e XMLdoc (<summary>, o que oomp-stdlibdo open.mp usa). Ao digitar a chamada, a descrição do parâmetro em que você está aparece sozinha. - 19 diagnósticos com código próprio (
PP####) — include que não existe, chave sem fechar, código inalcançável, função depreciada, variável não usada. 13 deles têm correção automática (Ctrl+.). - Ir para a definição, referências e renomear em todo o projeto.
- Prévia de cor nos literais
0xRRGGBBAAe{RRGGBB}, com seletor de cores.
Ctrl+Alt+Bcompila — opawnccé encontrado sozinho (via$PAWNCC,PATHou dentro do projeto). Os erros voltam clicáveis no painel de problemas.F5depura de verdade — breakpoints (simples, condicionais, por contagem e logpoints), passo a passo, inspeção de variáveis, watch, call stack e data breakpoints. Depuração real de gamemode, nãoprint()espalhado.- Servidor no painel lateral — iniciar, parar, reiniciar e enviar comandos RCON sem abrir terminal. Histórico e favoritos com busca, e o log acompanhado em tempo real.
- Formatação com estilos configuráveis (Allman, K&R, compacto ou seu próprio).
- Assistente de nomenclatura — convenções de caixa por categoria de
identificador, e um padrão próprio por expressão regular quando os estilos
prontos não descrevem a convenção da casa (
g_nas globais, por exemplo). - Templates de gamemode, filterscript e include, já no formato certo da plataforma que você usa.
- Cinco idiomas — português, inglês, espanhol, romeno e russo. A interface e os diagnósticos são configuráveis de forma independente: dá para ter o editor em português e os erros em inglês.
- Painel de configurações visual — todas as opções sem tocar em JSON.
- Temas de sintaxe claro e escuro, que acompanham o tema do editor.
- Cor de destaque — seis cores para a interface da extensão, ou o padrão que herda do seu tema.
Procure por PawnPro no marketplace do seu editor, ou:
ext install NullSablex.pawnpro
Também disponível no Open VSX para VSCodium e editores derivados.
Funciona em Windows, Linux e macOS (x64 e arm64). O motor de análise é um binário nativo que acompanha a extensão — não precisa instalar Rust, Node nem nada além do editor.
- Abra a pasta do seu gamemode (não o arquivo solto — a extensão precisa da pasta para achar os includes).
- Abra um
.pwn. O motor inicia sozinho e começa a analisar. Ctrl+Alt+Bpara compilar,F5para depurar.
Se os includes não forem encontrados, abra PawnPro: Configurações pela barra
de status e aponte o caminho do pawno/include — ou deixe a detecção automática
procurar nos lugares usuais.
Independente do editor, em JSON simples:
| Arquivo | Escopo |
|---|---|
~/.pawnpro/config.json |
Global (todos os projetos) |
.pawnpro/config.json |
Projeto (sobrescreve o global) |
.pawnpro/state.json |
Estado local (favoritos e histórico do servidor) |
Nada disso precisa ser editado à mão: o painel de configurações cobre todas as chaves. A referência completa está em docs/configuration.md, e os comandos em docs/commands.md.
| Recursos | O que a extensão faz, em detalhe |
| Configuração | Todas as chaves |
| Comandos | Paleta e atalhos |
| Servidor | Iniciar, RCON, favoritos e log |
| Depuração | Como configurar o depurador |
| Assistente de nomes | Convenções e padrões próprios |
Site completo: pawnpro.nullsablex.com
A análise não roda em JavaScript. É um processo separado — pawnpro-engine, escrito em Rust — que conversa com o editor pelo protocolo LSP. Isso é o que permite analisar um gamemode grande com todos os seus includes sem travar a digitação.
A depuração segue o mesmo princípio: um adaptador DAP na extensão e um plugin dentro do servidor.
- O acompanhamento de log do servidor funciona em Linux e macOS.
- O RCON do SA-MP é um protocolo antigo, que trafega a senha em texto claro. Por isso o envio direto vale só para servidor local; para um remoto, a extensão usa o terminal. Firewalls podem bloquear a porta UDP local.
- Comandos que pareçam carregar senha nunca são guardados no histórico.
Contribuições são bem-vindas — veja o guia de contribuição.
O uso de IA é permitido: quem contribui é responsável pelo que envia, sem co-autoria de IA, e sem preconceito quanto ao seu uso. Detalhes na política de IA.
PawnPro License v1.0 — Source-Available (não Open Source).
Uso pessoal e comercial permitido ✅ · Redistribuição e venda proibidas ❌ · Detalhes: LICENSE.md



