Extensão moderna para desenvolver Pawn no Visual Studio Code — diagnóstico de #include, compilação rápida, IntelliSense, CodeLens, painel de includes, hovers de funções e controles de servidor SA-MP.
Recursos principais
Compilação em 1 clique: PawnPro: Compilar arquivo atual (Ctrl+Alt+B).
Diagnóstico de #include: marca includes inexistentes (nome simples busca em includePaths; caminhos relativos/absolutos resolvem a partir do arquivo).
Detecção de símbolos não utilizados: alerta para variáveis (new/static/const) e funções stock declaradas mas não usadas.
CodeLens: exibe contagem de referências acima de cada função; clique para listar todas.
Signature Help: mostra assinatura e parâmetro ativo ao digitar ( e ,.
Auto-complete: sugestões de funções e macros de includes e API indexados.
Hover inteligente:
Em #include: exibe caminho resolvido e Doc do topo do .inc (se houver).
Em funções native/forward: mostra assinatura e Doc (indexadas a partir das suas includes + fallbacks de nativos comuns).
Aba “Includes”: navegação pelos .inc ativos, com abertura direta nas assinaturas.
Temas de sintaxe: clássico e moderno (claro/escuro), com aplicação automática.
Servidor SA-MP:
Start/Stop/Restart integrados e envio de comandos via RCON (UDP).
Canal único ”PawnPro Server” (log + respostas RCON), follow configurável e tail do server_log.txt (Linux/macOS).
Segurança: bloqueia RCON se a senha for vazia ou changename.
Internacionalização: mensagens em PT-BR e EN via vscode-nls.
Como usar (rápido)
Compilar: abra um .pwn → Ctrl+Alt+B.
Includes: passe o mouse sobre #include para ver caminho/Doc; use a aba Includes para explorar.
Funções: passe o mouse sobre chamadas (ex.: CreateVehicle) para ver assinatura/Doc.
Servidor: configure o executável → PawnPro: Start Server; envie comandos no painel do servidor (RCON).
Configuração
Todas as configurações são gerenciadas via arquivos JSON — não nas configurações do VS Code:
Arquivo
Escopo
~/.pawnpro/config.json
Global (todos os projetos)
.pawnpro/config.json
Projeto (sobrescreve global)
.pawnpro/state.json
Estado do projeto (favoritos, histórico)
Exceção:pawnpro.ui.separateContainer (bool) permanece nas configurações do VS Code para controlar o posicionamento dos painéis na Activity Bar.
pawnpro.cacheStats — Estatísticas do cache interno (debug)
pawnpro.whatsNew — Exibir painel "O que há de novo"
pawnpro.newScript — Criar novo script Pawn (Gamemode/Filterscript) com template padrão SA-MP
Leitura do server.cfg
A extensão lê localmente (não modifica) para configurar o RCON:
rcon_password — senha usada para RCON (bloqueia envio se vazia ou changename).
port — porta do servidor (UDP). Padrão: 7777.
bind — IP local. Se ausente ou 0.0.0.0, assume 127.0.0.1.
Privacidade: o server.cfg é processado apenas no seu computador. Nenhum dado é enviado externamente. O tráfego de rede ocorre somente quando você envia um comando RCON ao seu servidor.
Requisitos
Compilação:pawncc acessível no caminho configurado.
Servidor (opcional):server.cfg com rcon_password; no Linux/macOS, aponte server.logPath para o server_log.txt para tail contínuo.
Avisos
Use aspas em caminhos com espaços.
Firewalls/antivírus podem bloquear RCON (UDP); libere a porta local se necessário.
Ajuste server.output.follow para controlar a rolagem automática do console.