The attribute plugin is not available, 2fa disabled
Inhaltsverzeichnis
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
| Dokument | Vsebina |
|---|---|
| Pregled arhitekture | Struktura monorepo, sloji, odvisnosti |
| Razvojno okolje | Struktura projekta, poti, pravila SSOT |
| Cevovod PXAML | Od označevanja do IR do upodabljanja |
| Arhitektura razširitev | Vstopne točke, aktivacija, storitve |
| Cilji gradnje | GUI, TUI, Web - razlike in skupne točke |
Razvoj
| Dokument | Vsebina |
|---|---|
| Razvoj razširitev | Ustvarjanje nove razširitve, najboljše prakse |
| Razvoj kontrolnikov | 7-koračni potek dela za UI kontrolnike |
| Konvencije kode | Poimenovanje, struktura, dokumentacija |
| Varnostne smernice | OWASP, KRITIS, revizija |
| Internacionalizacija | Resourcestrings, prevodi |
| Razhroščevanje | Debug logging, analiza napak |
Gradnja in izdaja
| Dokument | Vsebina |
|---|---|
| Cevovod gradnje | Prevajanje s pas2js, CLI orodja, artefakti |
| Struktura paketov | Paketi tretjih oseb, manifesti, distribucija |
| Testiranje | Enotski testi, integracijski testi |
| Postopek izdaje | Verzioniranje, ustvarjanje VSIX, objava |
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
| Dokument | Vsebina |
|---|---|
| Core API | Skupne storitve, dostop do orodij |
| Meta API | Register komponent, IntelliSense ponudnik |
| VSCode Wrapper | Enote WvdS.VSCode.* |
Knjižnica kontrolnikov
| Dokument | Vsebina |
|---|---|
| Katalog kontrolnikov | Vseh 108 kontrolnikov z DevExpress preslikavo |
| Arhitektura kontrolnikov | Vzorec Properties/ViewInfo/Control |
| Ustvarjanje VSIX | Ročno ustvarjanje razširitve kontrolnika |
| Generiranje kontrolnikov | Serijsko generiranje s PowerShell |
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
Zahtevano:
- Free Pascal Compiler 3.2.2+
- pas2js 2.2.0+
- Node.js 18+ (za vsce)
- VS Code 1.85.0+
Opcijsko:
- lazbuild (za LCL projekte)
- Inno Setup (za Windows namestitvene programe)
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
F5v VS Code za zagon Extension Development Host- Odpre se novo okno VS Code z naloženimi razširitvami
- Ukazna paleta:
WVDS: Helloza 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
- Repozitorij: github.com/ArmandoFilho/WvdS.FPC
- Pregled kode: Pull Requests preko GitHub
Naslednji koraki
Zuletzt geändert: dne 29.01.2026 ob 22:07