Extensão para VS Code / Antigravity que adiciona Compile, Build e Run
ao menu de contexto de arquivos .pas.
Como funciona
Compile → localiza o .dproj/.dpr do pacote (subindo nas pastas a partir
do .pas) e executa dcc32 projeto.dpr (compilação incremental, só recompila
o que mudou — equivalente ao Ctrl+F9 do IDE).
Build → mesma busca, mas roda dcc32 -B projeto.dpr (força recompilar tudo).
Run → lê o .dproj para descobrir Platform/Config ativos e o DCC_ExeOutput,
monta o caminho do .exe e o executa em um terminal integrado.
Erros e warnings do compilador aparecem no painel de saída e no painel
"Problems" do VS Code, clicáveis (via problemMatcher no package.json).
Configuração necessária (Settings do VS Code)
Setting
Descrição
delphiTools.rsvarsPath
Caminho completo do rsvars.bat da instalação do RAD Studio (ex: C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat). Sem isso o dcc32/dcc64 não acha as libs.
delphiTools.compiler
dcc32 ou dcc64.
delphiTools.exePathOverride
Opcional. Caminho manual do executável, aceita {projectDir}, {platform}, {config}, {projectName} como placeholders — útil se sua estrutura de output fugir do padrão do RAD Studio.
Rodando localmente para testar
npm install
npm run compile
Depois abra a pasta no VS Code e aperte F5 — abre uma segunda janela
("Extension Development Host") com a extensão já carregada. Abra qualquer
workspace com um .pas, clique com o botão direito nele no Explorer e teste
as três opções.
Empacotando (.vsix)
npm install -g @vscode/vsce
vsce package
Isso gera um arquivo delphi-tools-0.1.0.vsix que já pode ser instalado
manualmente em qualquer VS Code/Antigravity via
Extensions: Install from VSIX....
Publicando na loja
VS Code Marketplace
Crie uma organização e um Personal Access Token no Azure DevOps
(https://dev.azure.com) com escopo "Marketplace: Manage".
Crie o publisher: vsce create-publisher SEU_PUBLISHER_ID
Ajuste "publisher" no package.json para o mesmo ID.
Publique: vsce publish
Open VSX Registry (usado por vários forks do VS Code, possivelmente incluindo o Antigravity)
Antes de publicar, vale confirmar na documentação do Antigravity qual
registry ele consulta por padrão (Marketplace da Microsoft, Open VSX, ou
instalação manual de .vsix) — isso pode ter mudado desde que este README
foi escrito.
Limitações conhecidas / próximos passos
A detecção de Platform/Config lê a primeira ocorrência no .dproj; projetos
com múltiplas configurações condicionais podem precisar de um parser XML
mais robusto (trocar as regexes por um parser XML de verdade, ex: xml2js).
Não há suporte a .groupproj (build de grupos de projeto) ainda — dá pra
adicionar um quarto comando "Build Group" se for útil no dia a dia do
Agrogestão.
Não há cancelamento de build em andamento (poderia usar
vscode.tasks.onDidStartTask/executeTask().terminate()).