WvdS FPC RAD Studio - Dokumentacija za razvijalce
Interna dokumentacija za razvijalce WvdS FPC RAD Suite
Ta dokumentacija je namenjena
internim razvijalcem paketa, ne uporabnikom. Za uporabniško dokumentacijo glejte
Javna dokumentacija.
Pregled
WvdS FPC RAD Studio je paket razširitev za Visual Studio Code, ki je v celoti napisan v Pascalu in s pas2js preveden v JavaScript.
Temeljna načela
Brez TypeScript - Vse razširitve temeljijo na Pascalu
SSOT - Enoten vir resnice v sources/
Ločevanje odgovornosti - Stroga slojevita arhitektura
Skladnost s KRITIS/NIS2 - Varnost kot osnovna zahteva
Kazalo dokumentacije
Arhitektura
Razvoj
Gradnja in izdaja
Razvoj TUI
| Dokument | Vsebina |
| Pregled TUI | Arhitektura, zahteve kakovosti, kdaj uporabiti TUI |
| TUI Engine | CellBuffer, DiffEngine, upodabljanje brez utripanja |
| TUI kontrolniki | Vzorec Model+Renderer, stanja, vnos, fokus |
| TUI postavitev | Sidranje, odzivnost, prelomne točke, vsebniki |
Zagotavljanje kakovosti
| Dokument | Vsebina |
| Pregled QA | Potek dela, matrika profilov, revizijski postopki |
| Kontrolni seznam Core | Production-Ready, obravnava napak, beleženje |
| Varnostni kontrolni seznam | KRITIS/NIS2, OWASP, Crypto |
| Kontrolni seznam kakovosti kode | Poimenovanje, funkcije, DRY, SSOT |
| Standardi komentiranja | PasDoc, Doc-Comments, pregled |
| Kontrolni seznam VSCode | Specifično za razširitve, pas2js |
API referenca
Knjižnica kontrolnikov
API referenca kontrolnikov
| Dokument | Vsebina |
| Osnovni kontrolniki | Label, Button, CheckBox, itd. (12) |
| Urejevalniki | TextEdit, SpinEdit, DateEdit, itd. (18) |
| Navigacija | TabControl, Wizard, NavBar, itd. (7) |
| Podatkovni kontrolniki | DataGrid, TreeList, PivotGrid, itd. (10) |
| Grafikoni | LineSeries, PieSeries, Sparkline, itd. (16) |
| Merilniki | CircularGauge, LED, Thermometer, itd. (10) |
| Postavitev | LayoutControl, DockingManager, itd. (10) |
| Vrstice/Trak | RibbonControl, StatusBar, itd. (10) |
| Specializirani | Scheduler, Spreadsheet, Map, itd. (15) |
Hiter začetek za nove razvijalce
1. Nastavitev razvojnega okolja
# Kloniraj repozitorij
git clone https://github.com/ArmandoFilho/WvdS.FPC.git
cd WvdS.FPC
# Odpri VS Code
code .
2. Namestitev orodij
3. Prvo prevajanje
cd sources/extensions/wvds.vscode.core
pas2js -Jc -Jirtl.js -Tbrowser -Fu../../common -FE./dist extension_main.pas
4. Testiranje razširitve
F5 v VS Code za zagon Extension Development Host
Odpre se novo okno VS Code z naloženimi razširitvami
Ukazna paleta: WVDS: Hello za testiranje
Struktura repozitorija
WvdS.FPC/
├── sources/ # SSOT - Verzionirano
│ ├── common/ # Skupne enote
│ │ ├── core/ # Osnovne enote
│ │ ├── ui/ # UI ogrodje
│ │ └── web/ # Host Bridges (Node, VSCode)
│ ├── extensions/ # VSIX razširitve
│ │ ├── wvds.vscode.core/
│ │ ├── wvds.vscode.build/
│ │ ├── wvds.vscode.projects/
│ │ ├── wvds.vscode.packaging/
│ │ ├── wvds.vscode.ui.designer/
│ │ ├── wvds.vscode.ui.meta/
│ │ └── wvds.vscode.ui.preview/
│ ├── applications/ # Samostojne aplikacije
│ ├── tools/ # CLI orodja (wvds-build, itd.)
│ └── packages/ # IDE paketi
│
├── binaries/ # Izhod gradnje (ni verzionirano)
│ ├── out/ # Prevedeni artefakti
│ ├── cache/ # Predpomnilnik prevajalnika
│ ├── dist/ # Izdajni paketi
│ └── logs/ # Dnevniki gradnje
│
└── .claude/ # Konfiguracija Claude
└── CLAUDE.md # Pravila repozitorija
Pravila politike
Ta pravila so neizpogajljiva in jih preverja wvds-lint:
P0: Enoten vir resnice
DOVOLJENO: sources/common/WvdS.System.pas
PREPOVEDANO: sources/extensions/wvds.vscode.core/WvdS.System.pas (Dvojnik!)
P1: Brez TypeScript
DOVOLJENO: *.pas -> pas2js -> *.js
PREPOVEDANO: *.ts, ročno napisan *.js
P2: Wrapperji samo v common
DOVOLJENO: sources/common/web/vscode/VSCode.API.pas
PREPOVEDANO: sources/extensions/wvds.vscode.build/VSCode.API.pas
P3: Samostojen izhod
dist/extension_main.js mora vsebovati vse potrebne enote
Kontakti
Naslednji koraki