Uma experiência de desenvolvimento moderna e estendida para a clássica linguagem AMXXPawn, diretamente no seu VS Code.
Important
DISCLAIMER: This extension ("AMXXPawn Language - Extended") is a fork of the original AMXXPawn Language extension by KliPPy. It is not affiliated with the original author. This fork includes specific enhancements for local workflows, improved compilation tasks, and targeted syntax additions that are not present in the original version.
Este projeto ressuscita e moderniza a experiência de desenvolvimento para scripters de AMX Mod X. Se você ama criar plugins para Half-Life, Counter-Strike 1.6 e outros mods GoldSrc, mas sente falta das ferramentas modernas, esta extensão é para você.
Ela transforma o VS Code em uma IDE poderosa para Pawn, trazendo funcionalidades que antes eram exclusivas de linguagens mais novas.
Diferente do original, esta versão Extended traz otimizações focadas em workflows locais e customizados, juntamente com todas as ferramentas de Language Server:
- 🟢 IntelliSense Avançado: Autocompletar para funções, constantes e variáveis.
- 🎯 Navegação de Código Inteligente (
Go to Definition): PressioneCtrl+Clickpara pular instantaneamente para a definição de:- Funções (incluindo
public,stock,nativee com prefixo@). - Constantes definidas com
#define. - Variáveis globais.
- Funções em Tasks: Navegue diretamente para a função quando o nome dela é passado como texto (ex:
set_task_ex(..., "minha_funcao", ...)).
- Funções (incluindo
- 🔍 Find All References:
Shift+F12em qualquer símbolo para encontrar todas as ocorrências no documento atual e nos includes carregados. - ✏️ Rename Symbol:
F2para renomear variáveis, funções ou constantes em todo o documento — com proteção contra renomear keywords reservadas do Pawn. - 💡 Informações ao Passar o Mouse (Hover): Passe o mouse sobre uma função ou variável para ver sua definição completa sem sair do lugar.
- ⚡ Diagnósticos em Tempo Real: A extensão avisa se um
#includenão pode ser encontrado, ajudando a corrigir erros antes mesmo de compilar. - 🔴 Inline Error Display: Erros de compilação aparecem diretamente na linha do código como texto inline, além do sublinhado vermelho tradicional.
- 📥 Download Automático do Compilador (Zero Configuração): Não configurou um compilador? A extensão baixa e configura o compilador automaticamente para você.
- 🛠️ Compilação Integrada: Compile seus plugins diretamente do VS Code com um único comando ou pelo botão
▶️ na barra do editor.
- Instale o Visual Studio Code.
- Abra a aba de Extensões (
Ctrl+Shift+X). - Procure por
AMXXPawn Language Service. - Clique em Instalar.
- Recarregue o VS Code e aproveite!
Você também pode instalar diretamente pela página do Marketplace.
Por padrão, a extensão baixa e configura automaticamente o compilador AMXX (Zero Configuração!). Porém, se você quiser usar um compilador próprio ou de uma versão específica, você pode informar o caminho para a extensão.
- Abra as Configurações do VS Code (
Ctrl + ,). - Clique no ícone de "Abrir settings.json" no canto superior direito.
- Adicione as seguintes propriedades ao seu
settings.json:
{
// ...outras configurações...
// Caminho para o executável do compilador amxxpc.
// (Deixe vazio ou não defina nada para usar o compilador padrão auto-baixado)
"amxxpawn.compiler.executablePath": "C:\\caminho\\para\\seu\\compiler\\amxxpc.exe",
// Lista de pastas onde a extensão deve procurar por arquivos .inc.
// (Deixe vazio para usar a pasta include do compilador padrão auto-baixado)
"amxxpawn.compiler.includePaths": [
"C:\\caminho\\para\\seu\\compiler\\include"
],
// Habilita ou desabilita avisos de erro inline no final da linha (falso por padrão).
// Deixe falso se você usa extensões como Error Lens para evitar mensagens duplicadas.
"amxxpawn.compiler.inlineErrors": false,
// --- CONFIGURAÇÃO RECOMENDADA ---
// Para uma experiência de autocomplete mais limpa e inteligente,
// desativando sugestões genéricas baseadas em palavras do arquivo.
"editor.wordBasedSuggestions": "off"
}IMPORTANTE para usuários Windows: Em arquivos JSON, você deve usar barras invertidas duplas (\\) ou barras normais (/) nos caminhos.
Exemplo Prático:
{
"amxxpawn.compiler.executablePath": "C:/AMXX/compiler/amxxpc.exe",
"amxxpawn.compiler.includePaths": [
"C:/AMXX/compiler/include"
]
}Abra a Paleta de Comandos (Ctrl+Shift+P) e digite AMXXPawn para ver os comandos disponíveis:
AMXXPawn: Compile Plugin: Compila o arquivo.smaatualmente aberto usando oexecutablePathdefinido nas configurações.AMXXPawn: Compile Plugin Local: Procura e usa umamxxpc.exeque esteja na mesma pasta do arquivo.smaque você está editando.
| Atalho | Ação | Descrição |
|---|---|---|
Ctrl+Click |
Go to Definition | Pula para a definição do símbolo sob o cursor |
Shift+F12 |
Find All References | Encontra todas as ocorrências do símbolo no documento e includes |
F2 |
Rename Symbol | Renomeia todas as ocorrências de uma variável, função ou constante |
▶️ botão |
Compile Plugin | Clique no botão play na barra do editor para compilar |
Este projeto é uma modernização de uma base de código legada, agora utilizando TypeScript e as APIs mais recentes do vscode-languageclient. Contribuições são muito bem-vindas!
Para compilar e testar localmente:
- Clone o repositório:
git clone https://github.com/NiceFeatures/amxxpawn-language.git - Instale as dependências:
npm install - Compile e faça o bundle (
esbuild):npm run esbuild - Abra o projeto no VS Code e pressione
F5para iniciar uma sessão de depuração.
Este projeto é uma continuação e modernização do trabalho incrível feito originalmente por KliPPy. Todo o crédito pela base sólida e pela ideia original vai para ele.
Este projeto é licenciado sob a GPL-3.0. Veja o arquivo LICENSE para mais detalhes.
