Inhaltsverzeichnis
WvdS VSCode Build
La Build Extension integra Free Pascal Compiler (FPC) e pas2js in VS Code. Permette compilazione, pulizia e formattazione della clausola Uses direttamente dall'editor.
Funzione e scopo
La Build Extension offre:
- Integrazione FPC - Compilazione Pascal nativa per desktop e server
- Integrazione pas2js - Transpilazione in JavaScript per applicazioni web
- Problem Matcher - Gli errori del compilatore vengono visualizzati nel pannello Problems
- Uses-Formatter - Formattazione automatica delle clausole Uses
Comandi
| Comando | Scorciatoia | Descrizione |
|---|---|---|
WvdS: Build Project | Ctrl+Shift+B | Compila il progetto corrente |
WvdS: Clean Build | - | Elimina gli artefatti di build |
WvdS: Rebuild Project | - | Clean + Build in un unico passaggio |
WvdS: Format Uses Clauses | Ctrl+Alt+U | Formatta le clausole Uses nel file corrente |
WvdS: Remove Unused Units | - | Rimuove le unit non utilizzate da Uses |
Flusso di lavoro Build
Compilare il progetto
- Aprite un file Pascal (.pas, .lpr, .dpr)
- Premete
Ctrl+Shift+Bo eseguiteWvdS: Build Project - Il compilatore viene eseguito nel Terminal
- Gli errori appaiono nel pannello Problems
Tipi di build
| Tipo | Descrizione | Utilizzo |
|---|---|---|
| Build | Build incrementale, solo unit modificate | Sviluppo normale |
| Clean | Elimina tutti i file .o, .ppu, .exe | In caso di problemi, prima del release |
| Rebuild | Clean + Build | Ricompilazione completa |
Selezione del compilatore
L'estensione sceglie automaticamente il compilatore corretto:
| Estensione file | Compilatore | Output |
|---|---|---|
| .lpr, .pas (con .lpi) | FPC via lazbuild | Binario nativo |
| .dpr, .dpk | FPC | Binario nativo |
| .pas (con pas2js.cfg) | pas2js | JavaScript |
Uses-Clause-Formatter
Il formatter organizza e pulisce le clausole Uses.
Funzionalità
- Ordinamento - Alfabetico, per lunghezza, o nessuno
- Raggruppamento - Opzionale: RTL, LCL, Unit personalizzate
- Indentazione - Larghezza di indentazione configurabile
- Lunghezza riga - A capo automatico al superamento
- Rimozione inutilizzati - Rimozione delle unit non utilizzate
Esempio
Prima:
uses SysUtils,Classes,Forms, Dialogs, StdCtrls, Windows, MyUnit;
Dopo (alfabetico, 2 spazi, 80 caratteri):
uses Classes, Dialogs, Forms, MyUnit, StdCtrls, SysUtils, Windows;
Menu contestuale
Clic destro in un file Pascal mostra il sottomenu „Uses Clauses“:
- Format Uses Clauses
- Remove Unused Units
Impostazioni
Impostazioni Build
{
"wvds.build.fpcPath": "",
"wvds.build.pas2jsPath": ""
}
Impostazioni Uses-Formatter
{
// Ordine di ordinamento
// "alphabetical" | "lengthAsc" | "lengthDesc" | "none"
"wvds.usesFormatter.sortOrder": "alphabetical",
// Indentazione (numero di spazi)
"wvds.usesFormatter.indentSize": 2,
// Lunghezza massima della riga
"wvds.usesFormatter.maxLineLength": 80,
// Raggruppamento per tipo (RTL, LCL, Custom)
"wvds.usesFormatter.groupByType": false,
// Rimuovi automaticamente le unit inutilizzate
"wvds.usesFormatter.removeUnused": false
}
Opzioni di ordinamento nel dettaglio
| Opzione | Descrizione | Esempio |
|---|---|---|
| alphabetical | Ordinamento A-Z (default) | Classes, Dialogs, Forms, SysUtils |
| lengthAsc | Prima le più corte | DB, Forms, Classes, SysUtils |
| lengthDesc | Prima le più lunghe | SysUtils, Classes, Forms, DB |
| none | Mantieni ordine originale | - |
Raggruppamento
Con raggruppamento attivato (groupByType: true):
uses // RTL Classes, SysUtils, // LCL Forms, StdCtrls, // Custom MyUnit, AnotherUnit;
Problem Matcher
L'estensione analizza l'output del compilatore e mostra gli errori nel pannello Problems.
Formati supportati
Formato FPC:
myunit.pas(42,10) Error: Identifier not found "TFoo"
Formato pas2js:
myunit.pas(42,10) Error: identifier "TFoo" not found
Navigazione
- Clic su un errore apre il file nella posizione corrispondente
F8salta all'errore successivoShift+F8salta all'errore precedente
Configurazione Build per progetto
Create un build.cfg nella cartella del progetto per impostazioni specifiche:
[build] compiler=fpc target=windows-x64 mode=debug [debug] optimizations=off symbols=on assertions=on [release] optimizations=3 symbols=off assertions=off
Opzioni disponibili
| Opzione | Valori | Descrizione |
|---|---|---|
| compiler | fpc, pas2js, lazbuild | Compilatore da utilizzare |
| target | windows-x64, linux-x64, web, … | Piattaforma di destinazione |
| mode | debug, release | Modalità di build |
| optimizations | off, 1, 2, 3 | Livello di ottimizzazione |
| symbols | on, off | Genera simboli di debug |
| assertions | on, off | Attiva le assertion |
Scorciatoie da tastiera
| Azione | Windows/Linux | macOS |
|---|---|---|
| Build Project | Ctrl+Shift+B | Cmd+Shift+B |
| Format Uses | Ctrl+Alt+U | Cmd+Alt+U |
Risoluzione dei problemi
"Compiler not found"
Causa: FPC/pas2js non configurato.
Soluzione:
- Aprite
WvdS: Toolchain Configuration… - Configurate il percorso del compilatore
- In alternativa: impostate
wvds.build.fpcPathin settings.json
Gli errori non vengono visualizzati nel pannello Problems
Causa: L'output del compilatore differisce dal formato atteso.
Soluzione:
- Controllate l'output del Terminal per errori
- Assicuratevi che la versione del compilatore sia compatibile
- Segnalate il problema su GitHub
Uses-Formatter non cambia nulla
Causa: Nessuna clausola Uses trovata o file non supportato.
Soluzione:
- Assicuratevi che il file sia un .pas, .pp, .lpr, .dpr o .inc
- Verificate che sia presente una clausola Uses
- Controllate le impostazioni
Dettagli tecnici
| Proprietà | Valore |
|---|---|
| Extension ID | wvds.wvds-vscode-build |
| Attivazione | onCommand, onLanguage:pascal |
| Dipendenze | wvds-vscode-core |
| Min. VS Code | 1.85.0 |