Integracija pas2js prevajalnika, Web Form Designer in razvoj VSCode razširitev v Pascalu.
Package-ID: wvds.wvds-fpc-pas2js-studio
PAS2JS Studio razširi Solution Manager z orodji za razvoj s pas2js prevajalnikom (Pascal to JavaScript):
Se samodejno prepozna, ko package.json vsebuje VSCode Extension Manifest (engines.vscode).
Projekt se v Solution Manager Tree View prikaže kot virtualni projekt — z vsemi Pascal-enotami, npm odvisnostmi in InnoSetup-skriptami.
pas2js spletne aplikacije se odkrijejo prek .wfm ali .wfmproj datotek.
| Ukaz | Opis |
| Build Extension (Debug) | Prevedi z informacijami za razhroščevanje in Source Maps |
|---|---|
| Build Extension (Release) | Optimiziran build (-O2) + esbuild minifikacija |
| Rebuild Extension | Celotna ponovna gradnja |
| Clean Extension | Brisanje build-artefaktov |
| Watch & Build Extension | Samodejni rebuild ob spremembi datoteke |
| Run Extension Tests | Zagon testov enot |
| Minify Extension | Ločena esbuild-minifikacija |
| Ukaz | Opis |
| Package VSIX | Pakiraj razširitev kot .vsix |
|---|---|
| Install Extension | Namesti VSIX v VSCode |
| Publish Extension | Objavi razširitev v Marketplace |
Pascal (.pas) → pas2js → extension.pas2js.js → esbuild → extension.js
extension.js v dist/| Ukaz | Opis |
| Build Web App (Debug) | Prevedi spletno aplikacijo (Debug) |
|---|---|
| Build Web App (Release) | Prevedi spletno aplikacijo (Release) |
| Watch & Preview Web App | Živ rebuild s predogledom v brskalniku |
| Stop Watch Mode | Prekini watch-način |
| Launch Browser Preview | Odpri brskalnik s predogledom URL |
V watch-načinu se zažene lokalni HTTP-strežnik:
fpc-pas2js.webApp.liveServerPort (privzeto: 8080)fpc-pas2js.webApp.autoOpenBrowser)
WFM Designer se samodejno odpre za .wfm datoteke.
| Ukaz | Opis |
| New Web Form | Ustvari nov spletni obrazec |
|---|---|
| New Frame | Ustvari nov okvir |
| Toggle Web Form / Code | Preklopi med designerjem in kodo |
| Preview Web Form | Prikaži obrazec v brskalniku |
| Toggle Designer View | Preklopi pogled designerja |
pas2js spletne aplikacije se lahko razhroščujejo v brskalniku:
pas2js-browserfpc-pas2js.debug.browserDebugPort (privzeto: 9222)| Način | Opis |
external | Ločena .map datoteka (privzeto) |
|---|---|
inline | Source Map vgrajena v JS |
none | Brez Source Maps |
Nastavitev: fpc-pas2js.debug.sourceMapMode
Test Explorer se integrira v VSCode Testing API in samodejno odkrije FPCUnit-teste.
| Nastavitev | Opis | Privzeto |
test.enabled | Test Explorer aktiviran | true |
|---|---|---|
test.testDir | Imenik s testi (relativno glede na Workspace) | tests |
test.testPattern | Glob-vzorec za testne datoteke | *.test.pas |
test.timeout | Časovna omejitev v milisekundah | 30000 |
Testi sledijo vzorcu FPCUnit:
unit MyFeature.test; interface uses fpcunit, testregistry; type TMyFeatureTest = class(TTestCase) published procedure Test_Add_ReturnsSum; procedure Test_Divide_ByZero_Raises; end; implementation procedure TMyFeatureTest.Test_Add_ReturnsSum; begin AssertEquals(4, Add(2, 2)); end; procedure TMyFeatureTest.Test_Divide_ByZero_Raises; begin AssertException(EDivByZero, @DoDivideByZero); end; initialization RegisterTest(TMyFeatureTest); end.
test.testDir po vzorcu test.testPatternTTestCase, se prepoznajo kot testne zbirkepublished metode, ki se začnejo s Test, se prepoznajo kot posamezni testi
Vse nastavitve se začnejo z fpc-pas2js.:
| Nastavitev | Opis | Privzeto |
|---|---|---|
pas2jsPath | Pot do pas2js prevajalnika | Samodejna zaznava |
pas2jsRtlPath | Pot do pas2js RTL paketov | Samodejna zaznava |
defaultUnitSearchPaths | Dodatne poti za iskanje enot | [] |
defaultCompilerFlags | Dodatne zastavice prevajalnika (npr. -dMYDEFINE) | — |
| Nastavitev | Opis | Privzeto |
|---|---|---|
extBuild.autoOnSave | Samodejno prevedi ob shranjevanju | false |
extBuild.minify | Minifikacija release-buildov | true |
extBuild.logToFile | Zapiši build-dnevnik v datoteko | false |
extBuild.installAfterBuild | Samodejna namestitev po buildu | false |
defaultVsixOutputPath | Privzeta izhodna pot za VSIX | — |
| Nastavitev | Opis | Privzeto |
|---|---|---|
webApp.liveServerPort | Vrata za Live-Server | 8080 |
webApp.autoOpenBrowser | Samodejno odpri brskalnik | true |