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.
- Compilação em 1 clique: PawnPro: Compilar arquivo atual (
Ctrl+Alt+B). - Diagnóstico de
#include: marca includes inexistentes (nome simples busca emincludePaths; 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çõesstockdeclaradas 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).
- Em
- Aba “Includes”: navegação pelos
.incativos, 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.
- Compilar: abra um
.pwn→Ctrl+Alt+B. - Includes: passe o mouse sobre
#includepara 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).
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.
Compilação
compiler.autoDetect— detectarpawnccautomaticamentecompiler.path— caminho do executávelpawncccompiler.args— argumentos adicionais (ex.:[“-i/caminho/include”])includePaths— diretórios de includes; aceita${workspaceFolder}output.encoding—utf8ouwindows1252
Servidor SA-MP
server.path— caminho do executável do servidorserver.cwd— diretório de trabalhoserver.args— argumentos adicionaisserver.logPath— caminho doserver_log.txtserver.logEncoding—windows1252ouutf8server.clearOnStart— limpar log ao iniciarserver.output.follow—visible|always|off
Interface
ui.showIncludePaths— exibir caminhos na árvore de includessyntax.scheme—classic_white|classic_dark|modern_white|modern_dark|autosyntax.applyOnStartup— aplicar tema automaticamente na inicialização
pawnpro.compileCurrent— Compilar arquivo atualpawnpro.detectCompiler— Detectar compilador automaticamentepawnpro.applySyntaxScheme/pawnpro.resetSyntaxScheme— Esquemas de sintaxepawnpro.server.start/pawnpro.server.stop/pawnpro.server.restart— Servidor SA-MPpawnpro.server.show— Mostrar Consolepawnpro.server.showLog— Mostrar Logpawnpro.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
A extensão lê localmente (não modifica) para configurar o RCON:
rcon_password— senha usada para RCON (bloqueia envio se vazia ouchangename).port— porta do servidor (UDP). Padrão:7777.bind— IP local. Se ausente ou0.0.0.0, assume127.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.
- Compilação:
pawnccacessível no caminho configurado. - Servidor (opcional):
server.cfgcomrcon_password; no Linux/macOS, aponteserver.logPathpara oserver_log.txtpara tail contínuo.
- Use aspas em caminhos com espaços.
- Firewalls/antivírus podem bloquear RCON (UDP); libere a porta local se necessário.
- Ajuste
server.output.followpara controlar a rolagem automática do console.