Inhaltsverzeichnis
WvdS VSCode Build
Build ekstenzija integrira Free Pascal Compiler (FPC) i pas2js u VS Code. Omogućuje kompilaciju, čišćenje i formatiranje Uses klauzula direktno iz editora.
Funkcija i svrha
Build ekstenzija nudi:
- FPC integracija - Nativna Pascal kompilacija za desktop i poslužitelje
- pas2js integracija - Transpilacija u JavaScript za web aplikacije
- Problem Matcher - Greške prevoditelja prikazuju se u Problems panelu
- Uses-Formatter - Automatsko formatiranje Uses klauzula
Naredbe
| Naredba | Tipkovnička kratica | Opis |
|---|---|---|
WvdS: Build Project | Ctrl+Shift+B | Kompilira trenutni projekt |
WvdS: Clean Build | - | Briše artefakte kompilacije |
WvdS: Rebuild Project | - | Clean + Build u jednom koraku |
WvdS: Format Uses Clauses | Ctrl+Alt+U | Formatira Uses klauzule u trenutnoj datoteci |
WvdS: Remove Unused Units | - | Uklanja nekorištene unitove iz Uses |
Tijek rada kompilacije
Kompiliranje projekta
- Otvorite Pascal datoteku (.pas, .lpr, .dpr)
- Pritisnite
Ctrl+Shift+Bili izvršiteWvdS: Build Project - Prevoditelj se pokreće u Terminalu
- Greške se pojavljuju u Problems panelu
Vrste kompilacije
| Vrsta | Opis | Korištenje |
|---|---|---|
| Build | Inkrementalna kompilacija, samo promijenjeni unitovi | Normalni razvoj |
| Clean | Briše sve .o, .ppu, .exe datoteke | Kod problema, prije izdanja |
| Rebuild | Clean + Build | Potpuna ponovna kompilacija |
Odabir prevoditelja
Ekstenzija automatski odabire ispravan prevoditelj:
| Ekstenzija datoteke | Prevoditelj | Izlaz |
|---|---|---|
| .lpr, .pas (s .lpi) | FPC putem lazbuild | Nativna binarna datoteka |
| .dpr, .dpk | FPC | Nativna binarna datoteka |
| .pas (s pas2js.cfg) | pas2js | JavaScript |
Uses-Clause-Formatter
Formatter organizira i čisti Uses klauzule.
Funkcije
- Sortiranje - Abecedno, po duljini, ili bez sortiranja
- Grupiranje - Opcijski: RTL, LCL, Custom unitovi
- Uvlačenje - Konfigurirajuća širina uvlačenja
- Duljina retka - Automatski prijelom pri prekoračenju
- Uklanjanje nekorištenih - Uklanjanje nekorištenih unitova
Primjer
Prije:
uses SysUtils,Classes,Forms, Dialogs, StdCtrls, Windows, MyUnit;
Poslije (abecedno, 2 razmaka, 80 znakova):
uses Classes, Dialogs, Forms, MyUnit, StdCtrls, SysUtils, Windows;
Kontekstni izbornik
Desni klik u Pascal datoteci prikazuje podizbornik „Uses Clauses“:
- Format Uses Clauses
- Remove Unused Units
Postavke
Postavke kompilacije
{
"wvds.build.fpcPath": "",
"wvds.build.pas2jsPath": ""
}
Postavke Uses-Formattera
{
// Redoslijed sortiranja
// "alphabetical" | "lengthAsc" | "lengthDesc" | "none"
"wvds.usesFormatter.sortOrder": "alphabetical",
// Uvlačenje (broj razmaka)
"wvds.usesFormatter.indentSize": 2,
// Maksimalna duljina retka
"wvds.usesFormatter.maxLineLength": 80,
// Grupiranje po vrsti (RTL, LCL, Custom)
"wvds.usesFormatter.groupByType": false,
// Automatski ukloni nekorištene unitove
"wvds.usesFormatter.removeUnused": false
}
Opcije sortiranja u detaljima
| Opcija | Opis | Primjer |
|---|---|---|
| alphabetical | A-Z sortiranje (zadano) | Classes, Dialogs, Forms, SysUtils |
| lengthAsc | Najkraći prvo | DB, Forms, Classes, SysUtils |
| lengthDesc | Najduži prvo | SysUtils, Classes, Forms, DB |
| none | Zadrži izvorni redoslijed | - |
Grupiranje
Kada je grupiranje aktivirano (groupByType: true):
uses // RTL Classes, SysUtils, // LCL Forms, StdCtrls, // Custom MyUnit, AnotherUnit;
Problem Matcher
Ekstenzija parsira izlaz prevoditelja i prikazuje greške u Problems panelu.
Podržani formati
FPC format:
myunit.pas(42,10) Error: Identifier not found "TFoo"
pas2js format:
myunit.pas(42,10) Error: identifier "TFoo" not found
Navigacija
- Klik na grešku otvara datoteku na odgovarajućem mjestu
F8skoči na sljedeću greškuShift+F8skoči na prethodnu grešku
Konfiguracija kompilacije po projektu
Stvorite build.cfg u mapi projekta za postavke specifične za projekt:
[build] compiler=fpc target=windows-x64 mode=debug [debug] optimizations=off symbols=on assertions=on [release] optimizations=3 symbols=off assertions=off
Dostupne opcije
| Opcija | Vrijednosti | Opis |
|---|---|---|
| compiler | fpc, pas2js, lazbuild | Prevoditelj koji se koristi |
| target | windows-x64, linux-x64, web, … | Ciljna platforma |
| mode | debug, release | Način kompilacije |
| optimizations | off, 1, 2, 3 | Razina optimizacije |
| symbols | on, off | Generiraj debug simbole |
| assertions | on, off | Aktiviraj assertions |
Tipkovničke kratice
| Akcija | Windows/Linux | macOS |
|---|---|---|
| Build Project | Ctrl+Shift+B | Cmd+Shift+B |
| Format Uses | Ctrl+Alt+U | Cmd+Alt+U |
Rješavanje problema
"Compiler not found"
Uzrok: FPC/pas2js nije konfiguriran.
Rješenje:
- Otvorite
WvdS: Toolchain Configuration… - Konfigurirajte putanju prevoditelja
- Alternativno: Postavite
wvds.build.fpcPathu settings.json
Greške se ne prikazuju u Problems panelu
Uzrok: Izlaz prevoditelja odstupa od očekivanog formata.
Rješenje:
- Provjerite izlaz Terminala za greške
- Osigurajte da je verzija prevoditelja kompatibilna
- Prijavite problem na GitHub
Uses-Formatter ne mijenja ništa
Uzrok: Uses klauzula nije pronađena ili datoteka nije podržana.
Rješenje:
- Osigurajte da je datoteka .pas, .pp, .lpr, .dpr ili .inc
- Provjerite postoji li Uses klauzula
- Provjerite postavke
Tehnički detalji
| Svojstvo | Vrijednost |
|---|---|
| Extension ID | wvds.wvds-vscode-build |
| Aktivacija | onCommand, onLanguage:pascal |
| Ovisnosti | wvds-vscode-core |
| Min. VS Code | 1.85.0 |