Einstellungen (Preferences)

Ueberblick

Der Preferences-Dialog ist die zentrale Anlaufstelle fuer alle editor-globalen Einstellungen — alles, was nicht zum geoeffneten Projekt gehoert, sondern den Editor selbst, die Verbindung zu einer Runtime und das Verhalten beim Upload betrifft.

Geoeffnet wird der Dialog ueber Edit > Preferences... (in einigen Themes auch unter Tools > Preferences...). Druecken Sie F1 im Dialog, um direkt diese Seite zu oeffnen.

Preferences
+-- Editor          (Schrift, Tab-Breite, Zeilennummern)
+-- Runtime         (anvild-Host/Port, Anvil Debug, Network Scanner)
+-- PLC             (Build-Mode, Auto-Start, Persist, Monitoring)
+-- AI Assistant    (LLM-Endpoint, Tokens, Temperature)

Editor

Steuert die Darstellung im ST-Code-Editor und in allen anderen Text-Eingabe-Feldern.

FeldBedeutung
FontSchriftfamilie. Vorgefiltert auf monospace-Schriften (Empfehlung: JetBrains Mono, Cascadia Code, Consolas).
Font sizeSchriftgroesse in Punkt. Default 10.
Tab widthAnzahl Leerzeichen pro Tab-Stop. Default 4.
Show line numbersZeigt links neben dem Code-Editor laufende Zeilennummern.

Runtime

Verbindung zu einem anvild-Daemon und IPC-Diagnose.

FeldBedeutung
HostHostname oder IP der PLC. Default localhost.
PortgRPC-Port von anvild. Default 50051.
UserBenutzername fuer die Token-Authentifizierung.
Anvil DebugIPC-Diagnose-Stufe (Off, Errors only, Verbose). Schreibt zusaetzliche Stats in den anvild-Log — nuetzlich, um Iceoryx-Topic-Drift in Production zu finden.

Zusaetzlich: Auto-Connect on start verbindet sich beim Editor-Start automatisch mit dem zuletzt erfolgreich verbundenen anvild — sinnvoll auf einem dedizierten Engineering-Laptop.

Der Network Scanner-Block in derselben Lasche scannt das LAN nach Modbus-TCP-Geraeten (Port 502) und ForgeIEC-Runtimes (Port 50051) und fuegt Treffer in die Bus-Konfiguration ein.

PLC

Steuert, was nach einem Upload auf der PLC passiert.

FeldBedeutung
Compile ModeDevelopment (Live-Monitoring + Forcing aktiv) oder Production (gestripptes Binary, ohne Debug-Bridges — Sicherheits-Boundary).
PLC autostartStartet die PLC-Runtime automatisch nach erfolgreichem Upload, ohne den Bestaetigungsdialog.
Persist enabledAktiviert das periodische Speichern von VAR_PERSIST/RETAIN-Variablen nach /var/lib/anvil/persistent.dat. Werte ueberleben einen Neustart der Runtime.
Persist polling intervalIntervall in Sekunden zwischen den automatischen Speichervorgaengen (Default 5 s).
Monitor historyAnzahl Samples pro Variable im Oszilloskop-Recorder (Default 1000).
Monitor intervalAbtast-Intervall in Millisekunden fuer das Live-Monitoring (Default 100 ms).

Library

Sync-Verhalten fuer die Standard-Library zwischen Editor-Ressource und PLC-seitigem Library-Pfad — siehe Library fuer das volle Drift-Modell. Zwei Modi:

  • Auto-Push aus (Default) — der Editor zeigt nur einen Hinweis im Output-Panel, wenn beim Connect ein Drift erkannt wird. Push erfolgt manuell ueber Tools > Sync Library.
  • Auto-Push an — der Editor schickt die lokale Library-Version automatisch, sobald ein Drift erkannt wird. Nuetzlich in einem Single-Programmer-Setup.

AI Assistant

Optionale Code-Vervollstaendigung gegen einen lokalen, OpenAI-kompatiblen LLM-Server (LM Studio, Ollama, llama.cpp, vLLM).

FeldBedeutung
Enable AI AssistantSchaltet die Inline-Completion ein.
API EndpointOpenAI-kompatibler Endpoint, z. B. http://localhost:1234/v1.
Max TokensAntwort-Limit pro Anfrage. Default 2048.
TemperaturePrecise (0.1), Balanced (0.3), Creative (0.7), Wild (1.0).

UX-State (automatisch persistiert)

Folgende Felder werden ohne Preferences-Dialog im Hintergrund gespeichert, damit der Editor beim naechsten Start in dem Zustand oeffnet, in dem Sie ihn verlassen haben:

  • Fenster-Geometrie + Window-State (windowGeometry, windowState)
  • Splitter- und Header-Positionen (splitterState, headerState)
  • Hoehe des Output-Panels (outputPanelHeight)
  • Letztes geoeffnetes Projekt (lastProject) und Recent-Files-Liste
  • Session-Zustand: offene POU-Tabs, aktiver Tab, Cursor- und Scroll-Position pro POU

Speicherort der Settings

Die Settings liegen ueber Qts QSettings plattform-spezifisch:

PlattformPfad
WindowsRegistry: HKCU\Software\ForgeIEC\ForgeIEC Studio
Linux~/.config/ForgeIEC/ForgeIEC Studio.conf
macOS~/Library/Preferences/io.forgeiec.studio.plist

Loeschen dieser Datei / dieses Registry-Schluessels setzt alle Einstellungen auf Default zurueck — nuetzlich nach einem fehlgeschlagenen Upgrade.

Geplante Erweiterungen

Im Backlog (Cluster R Phase 3): das Output-Panel bekommt eigene Severity-Farben (Error rot, Warning gelb, Info weiss) und eine einstellbare Schriftgroesse. Beide Optionen werden dann hier in einer neuen Lasche Output auftauchen.

Verwandte Themen

  • Library — Sync-Verhalten zwischen Editor und Runtime.
  • Bus-Konfiguration — projekt-bezogene Settings, die nicht hier sondern direkt am Bus-Segment / -Device liegen.