VS Code Extension für die LPC-Entwicklung mit Schwerpunkt auf der UNItopia UNIlib (LDMud 3.5.0/3.6.x), erweiterbar für weitere Mudlibs.
- Remote-Dateisystem über FTP/FTPS/SFTP,
- optionaler lokaler Entwicklungs-MUD ("homemud") mit Datei-Sync zur Remote
- Telnet-Konsole für Magier-Befehle (
update/destruct) - LPC-Syntax-Highlighting und Editor-Unterstützung (Hover, Completion, Outline, Goto-Definition, Diagnostics, Signature-Help) für 322 LDMud-Efuns und 201 UNItopia-Sfuns.
Derzeit ist eine Installation über den workspace noch nicht vorgesehen und ist nur über eine Entwicklungsumgebung zugänglich.
Im Ende gibt es zwei Workspaces, eine für das Plugin und eine für die Ausführung des Plugins(z.B. inkl eines optionalen Homemuds).
- Suche ein Unterverzeichnis, wo das Plugin abgelegt werden kann
git clone https://github.com/unitopia-de/lpc-ide-master.git
cd lpc-ide-master
npm install
npm run compile # oder: npm run watch- Suche das Unterverzeichnis für die Ausführung ggf mit optionalen homemmud
- lege dort die lpc-config.json ab und passe sie an (Pfade, user)
- Falls ohne homemud, lösche den Abschnitt homemud aus dem json File!
- Führe per F5 das Plugin aus und navigiere dort zum 2. Workspace
lpc-config.json im Workspace-Root:
{
"dialect": "ldmud",
"version": "3.6.8",
"mudlib": {
"name": "UNIlib",
"baseDir": "/sys/unitopia",
"simulEfunFile": "/secure/simul_efun/simul_efun.c",
"includeDirs": [
"/sys/include"
],
"efunDefinitions": "lpc-efuns.json"
},
"ftp": {
"host": "unitopia.de",
"port": 21,
"user": "wizard?",
"remoteRoot": "/",
"protocol": "ftps"
},
"homemud": {
"path": "./",
"libPath": "/lib"
}
}Das Passwort wird nicht in dieser Datei abgelegt, sondern beim ersten Verbindungsaufbau abgefragt und in der OS-Keychain (SecretStorage) gespeichert.
Die Verbindungsblöcke und Funktion für direkte Mudverbindungen kommt evtl später.
| Datei / Ort | Zweck |
|---|---|
lpc-config.json im Workspace-Root |
Dialekt, Mudlib, FTP |
| OS-Keychain (Windows Credential Manager o. ä.) | FTP-Passwort — automatisch verwaltet |
Strg+, → "lpc" |
VS-Code-User/Workspace-Settings (siehe unten) |
| Setting | Default | Wirkung |
|---|---|---|
lpc.configFile |
"lpc-config.json" |
Anderer Dateiname für die Workspace-Konfig |
lpc.dialect.autoDetect |
true |
Auto-Discovery beim Workspace-Öffnen |
lpc.mud.enabled |
false |
Telnet zu remote MUD und homemud aktivieren |
lpc.ftp.verbose |
false |
FTP-Protokoll-Trace in eigenem OutputChannel |
lpc.ftp.uploadOnSave |
false |
Reserviert für Phase 2.5 (noch nicht aktiv) |
lpc.ftp.protocol |
"ftps" |
Reserviert (echtes Protokoll kommt aus lpc-config.json) |
- FTP — kein automatischer Reconnect bei Timeout, keine SSH-Key-Auth (nur Passwort)
- DocumentSymbolProvider — erkennt nur Funktionen mit explizitem Return-Typ
- tmLanguage — Heredoc-Edge-Cases, kein semantisches Highlighting für lokale Funktionen
- Multi-Root-Workspace — nur der erste Folder wird ausgewertet
- uploadOnSave — Setting existiert, Logik (Phase 2.5) folgt
- Externer LSP-Server (z. B. jlchmura/lpc-language-server) — Client-Stub steht, Server-Anbindung offen
- Unit-Tests / CI / VSIX-Packaging — noch nicht eingerichtet