Razvojno okolje

Pregled projektne strukture in pomembnih poti za WvdS FPC RAD Studio.

Tilda (~) predstavlja korensko mapo repozitorija (npr. %WORKSPACE%/WvdS.FPC). Vse poti uporabljajo poševnice naprej.

Projektna struktura

~/
├── sources/                    # SSOT - verzioniran (SVN)
│   ├── common/                 # Deljene enote/knjižnice (FPC + pas2js)
│   │   ├── core/               # Osnovne enote (brez UI)
│   │   ├── ui/                 # UI ogrodje
│   │   │   ├── controls/       # Osnovni kontrolniki
│   │   │   ├── components/     # Sestavljene komponente
│   │   │   ├── runtime/        # PXAML izvajalno okolje
│   │   │   └── targets/        # Upodabljalniki (tui/gui/web)
│   │   └── web/                # Mostovi gostitelja (samo pas2js)
│   │       ├── nodejs/         # Node.js API-ji
│   │       └── vscode/         # VSCode Extension API-ji
│   ├── extensions/             # VSIX paketi
│   ├── applications/           # Produkti/Demo aplikacije
│   ├── tools/                  # wvds-build, pxamlc
│   └── packages/               # IDE paketi
│
├── binaries/                   # Izhodne datoteke gradnje - NISO verzioniran
│   ├── out/                    # Izhodne datoteke gradnje
│   ├── cache/                  # Predpomnilnik prevajalnika
│   ├── dist/                   # Izdajni artefakti (.vsix)
│   └── logs/                   # Poročila gradnje, razhroščevalni dnevniki
│
└── assets/                     # Statični viri

Projektne poti

Spremenljivka Pot Opis
~ Korenski imenik repozitorija %WORKSPACE%/WvdS.FPC
~/sources Izvorna koda Edini vir resnice
~/sources/common Deljena koda Združljiva s FPC + pas2js
~/sources/extensions VSIX razširitve VSCode paketi
~/sources/applications Aplikacije RAD Suite, Demo aplikacije
~/binaries Izhod gradnje Odvržljivo, ponovno generirano
~/binaries/dist Izdaja .vsix, namestitveni programi
~/binaries/logs Dnevniki Poročila gradnje, razhroščevalni dnevniki
~/assets Viri Ikone, predloge

Okoljske spremenljivke

Te spremenljivke so nadomestki in jih je treba prilagoditi lokalnemu razvojnemu okolju. Absolutne poti se je treba izogibati v konfiguracijskih datotekah.
Spremenljivka Privzeta vrednost Opis
%LAZARUS% Namestitev Lazarusa npr. C:\Lazarus ali /opt/lazarus
%PROGRAMFILES% Program Files Windows: C:\Program Files
%USERPROFILE% Uporabniški imenik Windows: C:\Users\{ime}, Linux: ~
%WORKSPACE% Delovni imenik Po meri uporabnika, npr. E:\Workspace

Prevajalnik in orodna veriga

Spremenljivka Relativna pot Opis
FPC %LAZARUS%/fpc/3.3.1/bin Free Pascal Compiler
FPC-SRC %LAZARUS%/fpc/3.3.1/source FPC izvorna koda
PAS2JS %LAZARUS%/fpc/3.3.1/bin/pas2js.exe Pascal v JavaScript
P2J-RTL %LAZARUS%/fpc/pas2js-windows-2.2.0/packages/rtl pas2js RTL
P2J-NODE %LAZARUS%/fpc/pas2js-windows-2.2.0/packages/nodejs Node.js vezave
P2J-VSCODE %LAZARUS%/fpc/pas2js-windows-2.2.0/packages/vscode VSCode vezave

Zunanje reference

Te poti so opcijske in relevantne samo za razvijalce, ki želijo preučevati referenčne implementacije.
Spremenljivka Relativna pot Opis
DXVCL %WORKSPACE%/3rd/DevExpress/VCL DevExpress VCL (Delphi)
DXNET %PROGRAMFILES%/DevExpress 25.1/Components/Sources DevExpress .NET
NODEJS-SRC %WORKSPACE%/3rd/node-main Node.js izvorna koda
VSCODE-SRC %WORKSPACE%/3rd/vscode-main VSCode izvorna koda

Dokumentacija

Spremenljivka Relativna pot Opis
DOKUWIKI %DOKUWIKI_DATA%/pages/de/int/vsce/fpc DokuWiki strani
SKILLS %WORKSPACE%/WvdS.Rihtlinien Definicije veščin

SSOT pravila

Edini vir resnice - Ta pravila so obvezujoča!
  1. ~/sources/ je edini vir za verzionno kodo
  2. ~/binaries/ je popolnoma odvržljiv in ponovno generirani
  3. Nikoli ne podvajajte izvajalne kode v ~/sources/extensions/
  4. Nikoli ne potrjujte generiranih datotek v ~/sources/

Struktura izhodnih datotek gradnje

~/binaries/out/{app}/{target}/{mode}/
├── gen/              # Generirana koda (ui.generated.pas)
├── bin/              # Izvršljive datoteke / JS paket
├── assets/           # PXAML, slike, teme
├── build-plan.json   # Konfiguracija gradnje
└── build-report.md   # Protokol gradnje
Cilj Prevajalnik Izhod
tui FPC Naravna konzola (Windows/Linux)
gui FPC Naravna namizna aplikacija (LCL/WinAPI)
web pas2js JavaScript paket
Način Opis
debug Razhroščevalni simboli, brez optimizacije
release Optimizirano, odstranjeni simboli
profile Release + profiliranje

Struktura razširitve

~/sources/extensions/wvds.vscode.{name}/
├── pas/
│   ├── extension_main.pas     # Vstopna točka (OBVEZNO)
│   ├── {Feature}.Models.pas   # Podatkovne strukture
│   ├── {Feature}.Service.pas  # Poslovna logika
│   └── {Feature}.Dialog.pas   # UI (opcijsko)
│
├── dist/
│   ├── extension_main.js      # Prevedeni JS
│   └── extension_main.js.map  # Izvorna karta
│
├── templates/                  # WebView predloge
├── images/                     # Ikone
├── package.json               # VSCode manifest
├── build.cfg                  # Konfiguracija gradnje
└── README.md                  # Dokumentacija

Glejte tudi

Zuletzt geändert: dne 29.01.2026 ob 22:21