Häufige Fragen (FAQ)

Antworten auf häufige Fragen zu den WvdS FPC Tools.

Installation und Setup

Welche VS Code Version wird benötigt?

Mindestens VS Code 1.85.0. Empfohlen: aktuellste stabile Version.

Prüfung:

code --version

Muss ich Lazarus installieren?

Nicht zwingend, aber empfohlen.

  • Mit Lazarus: Alle Features (lazbuild, LCL-GUI, Form Designer, pas2js)
  • Ohne Lazarus: Nur FPC Direct-Builds, keine LCL-GUI-Projekte

Für Desktop-GUI-Projekte mit LCL ist Lazarus erforderlich.

Funktioniert es auf Linux/macOS?

Primär Windows. Linux ist über WSL unterstützt.

Feature Windows Linux (WSL) macOS
FPC-Kompilierung Ja Ja Geplant
LCL-GUI Projekte Ja Ja Geplant
pas2js Ja Ja Geplant
InnoSetup Ja Nein Nein
Form Designer Ja Ja Geplant
WSL Cross-Compilation Ja N/A N/A

Wie deinstalliere ich die Extensions?

code --uninstall-extension wvds.wvds-fpc-tools

Oder einzeln:

code --uninstall-extension wvds.wvds-fpc-solution-manager
code --uninstall-extension wvds.wvds-fpc-pas2js-studio
code --uninstall-extension wvds.wvds-fpc-iss-designer

Alternativ: In VS Code Extensions → Rechtsklick → Uninstall

Brauche ich alle drei Extensions?

Nein. Solution Manager ist eigenständig lauffähig.

  • Nur FPC/Lazarus: Nur Solution Manager installieren
  • + pas2js/Web: Solution Manager + PAS2JS Studio
  • + Installer: Solution Manager + ISS Designer
  • Alles: Extension Pack wvds.wvds-fpc-tools (empfohlen)

Kompilierung

Warum findet FPC meine Units nicht?

Mögliche Ursachen:

  1. Unit-Pfade nicht konfiguriert — Rechtsklick auf Projekt → Properties → Paths
  2. Falsche Groß-/Kleinschreibung — Linux/macOS sind case-sensitive
  3. Package fehlt — Rechtsklick auf Projekt → Add Required Package

Lösung: Unit-Suchpfade in den Projekt-Properties (Tab „Paths“) hinzufügen.

Was bedeutet "Fatal: Can't find unit..."?

FPC kann eine referenzierte Unit nicht finden.

Lösungsschritte:

  1. Schreibweise in der uses-Klausel prüfen
  2. Prüfen ob die Unit-Datei existiert
  3. Pfad zu den Unit-Suchpfaden hinzufügen (Properties → Paths)
  4. Bei Packages: Required Package hinzufügen

Wie kompiliere ich für verschiedene Plattformen?

WSL Cross-Compilation (Windows → Linux):

  1. WSL mit Linux-Distribution installieren
  2. FPC/Lazarus in WSL installieren
  3. fpc-solution-manager.wslEnabled auf true setzen
  4. WSL-Distribution und Pfade konfigurieren
  5. Build for Linux (WSL) ausführen

Native Cross-Compilation:

  1. FPC-Cross-Compiler für Zielplattform installieren
  2. Target in Projekteinstellungen wählen

Warum ist meine Kompilierung langsam?

Mögliche Ursachen:

  1. Antivirus — Ausnahme für Projektordner und FPC-Verzeichnis hinzufügen
  2. Viele Units — Inkrementellen Build nutzen (Build statt Rebuild)
  3. Netzwerklaufwerk — Lokalen Speicher verwenden

Tipps:

  1. „Build“ statt „Rebuild“ verwenden (nur geänderte Units)
  2. Build-Timeout erhöhen: fpc-solution-manager.buildTimeoutSeconds

Was ist der Unterschied zwischen lazbuild und FPC Direct?

Aspekt lazbuild FPC Direct
Voraussetzung Lazarus installiert Nur FPC
LCL-Projekte Ja Nein
Package-Auflösung Automatisch Manuell
Geschwindigkeit Etwas langsamer Schneller

FPC Direct wird automatisch als Fallback verwendet wenn kein lazbuild konfiguriert ist.

Form Designer

Was ist der Unterschied zwischen LFM und WFM?

Aspekt LFM (Solution Manager) WFM (PAS2JS Studio)
Zielplattform Desktop (LCL) Web (Browser)
Dateiendung .lfm .wfm
Rendering Native Windows/Linux/macOS HTML/CSS im Browser
Lazy-Editor Form Designer Web Form Designer

Kann ich bestehende Lazarus-Formulare öffnen?

Ja. Der Form Designer öffnet .lfm Dateien direkt. Voraussetzung:

  • Die zugehörige .pas Unit muss vorhanden sein
  • Verwendete Packages müssen installiert sein (oder Komponenten-Katalog nutzen)

Warum werden manche Komponenten nicht angezeigt?

Der Form Designer kennt nur registrierte Komponenten. Für Drittanbieter-Packages:

  1. fpc-solution-manager.designer.componentPackages konfigurieren (Pfad zur .lpk)
  2. fpc-solution-manager.compcatgen.enabled aktivieren
  3. Der Komponenten-Katalog wird automatisch generiert

pas2js

Was ist pas2js?

pas2js ist ein Pascal-to-JavaScript Compiler, der Object Pascal in JavaScript übersetzt. Damit können VSCode Extensions und Web-Anwendungen in Pascal geschrieben werden.

Wo bekomme ich pas2js?

pas2js ist im Lazarus-Bundle (ab Version 3.0) enthalten. Separater Download:

https://wiki.freepascal.org/pas2js

Wie debugge ich eine pas2js Extension?

  1. Debug-Build erstellen (mit Source Maps)
  2. Extension in Development Host starten (F5 in VSCode)
  3. Breakpoints in Pascal-Quellen setzen
  4. Developer Tools öffnen (HelpToggle Developer Tools)

Projekte

Wie erstelle ich ein Multi-Projekt-Workspace?

Option 1: Projektgruppe (.lpg)

  1. Rechtsklick im Tree View → New Project Group
  2. Projekte zur Gruppe hinzufügen

Option 2: Multi-Root Workspace

  1. FileAdd Folder to Workspace…
  2. Mehrere Projektordner hinzufügen

Kann ich Delphi-Projekte (.dpr) öffnen?

Teilweise. Pascal-Syntax wird unterstützt, aber:

  • Delphi-spezifische Units (VCL, RTL) fehlen
  • Projektdateien (.dproj) werden nicht gelesen
  • Empfehlung: Projekt nach FPC/Lazarus migrieren

Wie teile ich Code zwischen Projekten?

  1. Lazarus-Package (.lpk): Erstellen, Units hinzufügen, als Required Package verwenden
  2. Shared Unit Search Paths: Gemeinsame Ordner in den Projekt-Properties konfigurieren
  3. Projektgruppe: Projekte in einer .lpg zusammenfassen

InnoSetup

Brauche ich InnoSetup separat installieren?

Ja. InnoSetup muss separat installiert werden:

https://jrsoftware.org/isinfo.php

Der ISS Designer nutzt iscc.exe (InnoSetup Command-Line Compiler).

Wie signiere ich meinen Installer?

  1. signtool.exe installieren (im Windows SDK enthalten)
  2. Zertifikat (.pfx) beschaffen
  3. Settings konfigurieren:
    • fpc-iss.signTool.path — Pfad zu signtool.exe
    • fpc-iss.signTool.certFile — Pfad zur .pfx
  4. Rechtsklick auf .issSign Installer

Fehlerbehebung

Extension wird nicht aktiviert

  • Prüfen ob .lpi, .lpg, .lpk oder package.json im Workspace vorhanden ist
  • Output Panel → FPC Solution Manager Kanal prüfen
  • VSCode neu laden: Ctrl+Shift+PDeveloper: Reload Window

Compiler nicht gefunden

  • Pfade in den Settings prüfen (fpc-solution-manager.fpcPath, fpc-solution-manager.lazbuildPath)
  • Setup Toolchain Wizard ausführen: Ctrl+Shift+PSetup Toolchain
  • FPC-Installation prüfen: fpc -v im Terminal

pasls (Language Server) funktioniert nicht

  • fpc-solution-manager.pasls.enabled auf true prüfen
  • Pfad zu pasls.exe in fpc-solution-manager.paslsPath setzen
  • fpc-solution-manager.lazarusSourcePath muss auf Lazarus-Quellen zeigen
  • Output Panel → pasls Kanal prüfen

Wo finde ich Logs?

  • Output Panel: ViewOutput → Dropdown FPC Solution Manager
  • Developer Tools: HelpToggle Developer Tools → Console-Tab
  • fpc-solution-manager.logLevel auf debug setzen für detaillierte Logs

Weitere Fragen?

Zuletzt geändert: den 28.02.2026 um 21:20