DEV Community

CrabPascal
CrabPascal

Posted on

Auto-Install the CrabPascal Compiler on Windows | Auto-instalação do compilador no Windows

Bilingual post · Post bilíngue

Jump to: English · Português


English {#english}

Auto-Install the CrabPascal Compiler on Windows

Installing a compiler manually — download, extract, edit PATH, restart terminal — kills onboarding. Modern editor extensions (Rust Analyzer, Python, Go) download tooling automatically. CrabPascal v2.22.0 follows the same pattern through the crabpascal.crabpascal VS Code extension.

The problem we solved

Before auto-install, the flow was:

  1. Install the VS Code extension
  2. Download crab-pascal.exe separately
  3. Configure crabpascal.compilerPath by hand
  4. Hope PATH is correct

Too many steps. Auto-install reduces this to: install extension → open a .pas file → press Build.

How detection works

When you trigger a CrabPascal task, the extension searches in order:

  1. User-configured pathcrabpascal.compilerPath in settings
  2. System PATHwhere crab-pascal.exe
  3. Extension cache%USERPROFILE%\.vscode\extensions\crabpascal\bin\
  4. Prompt download — if nothing found on Windows

Advanced users who compile from source (cargo build --release) are respected — if the binary exists, no download happens.

First-run experience

You install crabpascal.crabpascal
     ↓
Open ProdutoService.pas
     ↓
Ctrl+Shift+B (Build)
     ↓
Popup: "CrabPascal needs to download the compiler (~5 MB). Continue?"
     ↓
[Yes] → Download v2.22.0 → Extract → Run check
[No]  → Show manual setup instructions
Enter fullscreen mode Exit fullscreen mode

The download pulls the matching release binary for win32-x64. After install, subsequent builds skip the prompt.

Manual override

Prefer your own build? Set settings explicitly:

{
  "crabpascal.compilerPath": "C:\\Users\\You\\Documents\\crabpascal\\target\\release\\crab-pascal.exe",
  "crabpascal.autoInstall": false
}
Enter fullscreen mode Exit fullscreen mode

Or add to PATH permanently:

$path = "C:\Tools\crabpascal\crab-pascal.exe"
[Environment]::SetEnvironmentVariable(
  "Path",
  $env:Path + ";$(Split-Path $path)",
  [EnvironmentVariableTarget]::User
)
Enter fullscreen mode Exit fullscreen mode

Verify installation

After auto-install or manual setup:

crab-pascal --version
# CrabPascal v2.22.0

crab-pascal check examples\crud\crud.dpr
Enter fullscreen mode Exit fullscreen mode

In VS Code, open Output → CrabPascal to see which binary path was selected.

Offline and enterprise scenarios

Auto-install requires network access on first run. For air-gapped machines:

  • Copy crab-pascal.exe to a shared folder
  • Distribute a .vscode/settings.json with crabpascal.compilerPath
  • Or pre-populate the extension bin/ folder via deployment script

Comparison with other extensions

Extension Strategy
Rust Analyzer Downloads rust-analyzer on demand
CrabPascal Downloads crab-pascal.exe on demand
C/C++ (MS) Bundles large toolchains

CrabPascal keeps the VSIX small (~1 MB) and fetches the compiler separately — easier to update per sprint without republishing the entire extension.

What's next

Linux and macOS auto-install follow the same detection logic with platform-specific release assets. Until then, use cargo build --release or download from releases.

Auto-install is about removing friction, not hiding the compiler. You always know where the binary lives, and you can override it anytime. Install the extension, press Build, write Pascal. 🦀


Português {#portugus}

Auto-instalação do compilador CrabPascal no Windows

Instalar compilador na mão — baixar, extrair, editar PATH, reiniciar terminal — mata o onboarding. Extensões modernas (Rust Analyzer, Python, Go) baixam ferramentas automaticamente. O CrabPascal v2.22.0 segue o mesmo padrão pela extensão VS Code crabpascal.crabpascal.

O problema que resolvemos

Antes da auto-instalação, o fluxo era:

  1. Instalar extensão VS Code
  2. Baixar crab-pascal.exe separadamente
  3. Configurar crabpascal.compilerPath manualmente
  4. Torcer para o PATH estar certo

Passos demais. A auto-instalação reduz a: instalar extensão → abrir .pas → pressionar Build.

Como funciona a detecção

Ao disparar uma task CrabPascal, a extensão busca nesta ordem:

  1. Caminho configuradocrabpascal.compilerPath nas settings
  2. PATH do sistemawhere crab-pascal.exe
  3. Cache da extensão%USERPROFILE%\.vscode\extensions\crabpascal\bin\
  4. Oferecer download — se nada for encontrado no Windows

Usuários avançados que compilam do fonte (cargo build --release) são respeitados — se o binário existe, não há download.

Experiência na primeira execução

Você instala crabpascal.crabpascal
     ↓
Abre ProdutoService.pas
     ↓
Ctrl+Shift+B (Build)
     ↓
Popup: "CrabPascal precisa baixar o compilador (~5 MB). Continuar?"
     ↓
[Sim] → Download v2.22.0 → Extrai → Executa check
[Não] → Mostra instruções de setup manual
Enter fullscreen mode Exit fullscreen mode

O download traz o binário de release para win32-x64. Depois, builds seguintes pulam o prompt.

Override manual

Prefere seu próprio build? Configure explicitamente:

{
  "crabpascal.compilerPath": "C:\\Users\\Voce\\Documents\\crabpascal\\target\\release\\crab-pascal.exe",
  "crabpascal.autoInstall": false
}
Enter fullscreen mode Exit fullscreen mode

Ou adicione ao PATH permanentemente:

$path = "C:\Tools\crabpascal\crab-pascal.exe"
[Environment]::SetEnvironmentVariable(
  "Path",
  $env:Path + ";$(Split-Path $path)",
  [EnvironmentVariableTarget]::User
)
Enter fullscreen mode Exit fullscreen mode

Verificar instalação

Após auto-instalação ou setup manual:

crab-pascal --version
# CrabPascal v2.22.0

crab-pascal check examples\crud\crud.dpr
Enter fullscreen mode Exit fullscreen mode

No VS Code, abra Output → CrabPascal para ver qual caminho de binário foi selecionado.

Cenários offline e corporativos

Auto-instalação exige rede na primeira execução. Em máquinas isoladas:

  • Copie crab-pascal.exe para pasta compartilhada
  • Distribua .vscode/settings.json com crabpascal.compilerPath
  • Ou pré-popule a pasta bin/ da extensão via script de deploy

Comparação com outras extensões

Extensão Estratégia
Rust Analyzer Baixa rust-analyzer sob demanda
CrabPascal Baixa crab-pascal.exe sob demanda
C/C++ (MS) Embute toolchains grandes

O CrabPascal mantém o VSIX pequeno (~1 MB) e busca o compilador separadamente — mais fácil atualizar por sprint sem republicar a extensão inteira.

Próximos passos

Auto-instalação em Linux e macOS segue a mesma lógica de detecção com assets por plataforma. Até lá, use cargo build --release ou baixe dos releases.

Auto-instalação remove atrito, não esconde o compilador. Você sempre sabe onde o binário está e pode sobrescrever quando quiser. Instale a extensão, pressione Build, escreva Pascal. 🦀


Published on dev.to/@crabpascal · Código em CrabPascal

Top comments (0)