The attribute plugin is not available, 2fa disabled
Inhaltsverzeichnis
WvdS FPC RAD Studio - Dokumentacija za razvojne programere
Interna dokumentacija za razvojne programere WvdS FPC RAD Suite
Ova dokumentacija je za interne razvojne programere suite, ne za korisnike. Za korisničku dokumentaciju pogledajte Public Documentation.
Pregled
WvdS FPC RAD Studio je Extension-Suite za Visual Studio Code, koja je u potpunosti napisana u Pascalu i transpilirana u JavaScript pomoću pas2js.
Temeljna načela
- Bez TypeScripta - Sve Extensions su bazirane na Pascalu
- SSOT - Single Source of Truth u
sources/ - Separation of Concerns - Striktna slojevita arhitektura
- KRITIS/NIS2-sukladnost - Sigurnost kao temeljni zahtjev
Indeks dokumentacije
Arhitektura
| Dokument | Sadržaj |
|---|---|
| Pregled arhitekture | Monorepo-struktura, slojevi, ovisnosti |
| Razvojno okruženje | Struktura projekta, putanje, SSOT-pravila |
| PXAML-Pipeline | Markup u IR u Renderer |
| Extension-arhitektura | Entry Points, Activation, Services |
| Build-Targets | GUI, TUI, Web - razlike i zajedničke značajke |
Razvoj
| Dokument | Sadržaj |
|---|---|
| Razvoj Extensiona | Kreiranje novog Extensiona, Best Practices |
| Razvoj Controla | 7-koračni workflow za UI-Controls |
| Konvencije koda | Naming, struktura, dokumentacija |
| Sigurnosne smjernice | OWASP, KRITIS, Audit |
| Internacionalizacija | Resourcestrings, prijevodi |
| Debugging | Debug-Logging, analiza grešaka |
Build i Release
| Dokument | Sadržaj |
|---|---|
| Build-Pipeline | pas2js-kompilacija, Toolchain CLI, artefakti |
| Pack-Struktura | Paketi trećih strana, manifesti, distribucija |
| Testing | Unit-Tests, Integration-Tests |
| Release-Proces | Verzioniranje, VSIX-kreiranje, Publishing |
TUI-Razvoj
| Dokument | Sadržaj |
|---|---|
| TUI-Pregled | Arhitektura, zahtjevi kvalitete, kada koristiti TUI |
| TUI Engine | CellBuffer, DiffEngine, Flicker-free Rendering |
| TUI Controls | Model+Renderer Pattern, States, Input, Focus |
| TUI Layout | Anchoring, Responsive, Breakpoints, Container |
Osiguranje kvalitete
| Dokument | Sadržaj |
|---|---|
| QA-Pregled | Workflow, Profil-Matrica, Audit-Procesi |
| Core-Checklista | Production-Ready, Error Handling, Logging |
| Sigurnosna checklista | KRITIS/NIS2, OWASP, Crypto |
| Checklista kvalitete koda | Naming, Functions, DRY, SSOT |
| Standardi komentiranja | PasDoc, Doc-Comments, Review |
| VSCode-Checklista | Extension-specifično, pas2js |
API-Referenca
| Dokument | Sadržaj |
|---|---|
| Core API | Shared Services, pristup Toolchainu |
| Meta API | Komponenten-Registry, IntelliSense-Provider |
| VSCode Wrapper | WvdS.VSCode.* Units |
Control-Biblioteka
| Dokument | Sadržaj |
|---|---|
| Control-Katalog | Svih 108 Controls s DevExpress-Mappingom |
| Control-Arhitektura | Properties/ViewInfo/Control Pattern |
| Kreiranje VSIX-a | Ručno kreiranje Control Extensiona |
| Generiranje Controla | Batch-generiranje s PowerShellom |
Control API-Referenca
| Dokument | Sadržaj |
|---|---|
| Basic Controls | Label, Button, CheckBox, itd. (12) |
| Editor Controls | TextEdit, SpinEdit, DateEdit, itd. (18) |
| Navigation | TabControl, Wizard, NavBar, itd. (7) |
| Data Controls | DataGrid, TreeList, PivotGrid, itd. (10) |
| Charts | LineSeries, PieSeries, Sparkline, itd. (16) |
| Gauges | CircularGauge, LED, Thermometer, itd. (10) |
| Layout | LayoutControl, DockingManager, itd. (10) |
| Bars/Ribbon | RibbonControl, StatusBar, itd. (10) |
| Specialized | Scheduler, Spreadsheet, Map, itd. (15) |
Brzi početak za nove razvojne programere
1. Postavljanje razvojnog okruženja
# Kloniranje repozitorija git clone https://github.com/ArmandoFilho/WvdS.FPC.git cd WvdS.FPC # Otvaranje VS Code code .
2. Instalacija alata
Potrebno:
- Free Pascal Compiler 3.2.2+
- pas2js 2.2.0+
- Node.js 18+ (za vsce)
- VS Code 1.85.0+
Opcionalno:
- lazbuild (za LCL-projekte)
- Inno Setup (za Windows-Installer)
3. Prva kompilacija
cd sources/extensions/wvds.vscode.core pas2js -Jc -Jirtl.js -Tbrowser -Fu../../common -FE./dist extension_main.pas
4. Testiranje Extensiona
F5u VS Code za pokretanje Extension Development Hosta- Otvara se novi VS Code-prozor s učitanim Extensionima
- Paleta naredbi:
WVDS: Helloza testiranje
Struktura repozitorija
WvdS.FPC/
├── sources/ # SSOT - Verzionirano
│ ├── common/ # Shared Units
│ │ ├── core/ # Bazne Units
│ │ ├── ui/ # UI Framework
│ │ └── web/ # Host Bridges (Node, VSCode)
│ ├── extensions/ # VSIX Extensions
│ │ ├── 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/ # Standalone-aplikacije
│ ├── tools/ # CLI-Tools (wvds-build, itd.)
│ └── packages/ # IDE-Packages
│
├── binaries/ # Build-Output (nije verzionirano)
│ ├── out/ # Kompilirani artefakti
│ ├── cache/ # Compiler-Cache
│ ├── dist/ # Release-paketi
│ └── logs/ # Build-Logs
│
└── .claude/ # Claude-Konfiguracija
└── CLAUDE.md # Repo-pravila
Policy-pravila
Ova pravila su nepregovarajuća i provjerava ih wvds-lint:
P0: Single Source of Truth
DOZVOLJENO: sources/common/WvdS.System.pas ZABRANJENO: sources/extensions/wvds.vscode.core/WvdS.System.pas (Duplikat!)
P1: Bez TypeScripta
DOZVOLJENO: *.pas -> pas2js -> *.js ZABRANJENO: *.ts, ručno pisani *.js
P2: Wrapperi samo u common
DOZVOLJENO: sources/common/web/vscode/VSCode.API.pas ZABRANJENO: sources/extensions/wvds.vscode.build/VSCode.API.pas
P3: Self-contained Output
dist/extension_main.js mora sadržavati sve potrebne Units
Kontakti
- Repozitorij: github.com/ArmandoFilho/WvdS.FPC
- Issues: Bug Reports i Feature Requests
- Code Review: Pull Requests putem GitHuba
Sljedeći koraci
Zuletzt geändert: 29.01.2026. u 22:27