Hi. Ich habe jetzt endlich mal deine Extension ausprobiert. Klasse! Ich hab selbst schon länger mit dem Gedanken gespielt sowas mal für Eclipse zu basteln aber umso besser, wenn mir jemand anderes zuvorkommt ;)
Hauptvorteil für mich ist, dass ich endlich unter Linux Clonk scripten kann und nicht immer Windows dafür starten muss.
Außerdem kann ich so einfacher mit Git arbeiten und Zwischenstände fixieren.
Macht echt Spaß und funktioniert einwandfrei.
Leider kommt Clonk unter Linux nicht so mit meiner Ultra-HD-Auflösung zurecht und die Scrollbalken des ‚freien‘ Ansichtsfensters im Entwicklermodus des Spiels stimmen nicht, so dass ich nicht bis an den rechten Rand scrollen kann. Aber mit der Spieler-Ansicht und dem Verschieben von Clonks geht das schon. Aber das hat ja nichts mit deiner Erweiterung zu tun.
Toll wären natürlich noch weitere hilfreiche Features, z.B. Syntaxprüfung, Autovervollständigung, Anbindung an die Doku und das Outline des Codes. Aber ist ja nur eine Preview.
Für letzteres habe ich mir aber schonmal Abhilfe geschaffen und zwar mit der kostenlosen CodeMap-Extension von VS Code. Wenn man folgende Konfiguration in die settings.json im Projekt oder von der Clonk Extension wirft, bekommt man ein schönes Outline aller Felder und Funktionen.
"codemap.c": [
{
"pattern": "^\\s*#strict\\s*\\w*",
"clear": "^\\s*#",
"prefix":"🔧 ",
"icon": "function"
},
{
"pattern": "^\\s*func\\s*\\w*",
"clear": "^\\s*func\\s*",
"prefix":"🟦 ",
"icon": "function"
},
{
"pattern": "^\\s*private\\s*func\\s*\\w*",
"prefix":"🟥 ",
"clear": "^\\s*private\\s*func\\s*",
"icon": "function"
},
{
"pattern": "^\\s*protected\\s*func\\s*\\w*",
"clear": "^\\s*protected\\s*func\\s*",
"prefix":"🟧 ",
"icon": "function"
},
{
"pattern": "^\\s*public\\s*func\\s*\\w*",
"clear": "^\\s*public\\s*func\\s*",
"prefix":"🟩 ",
"icon": "function"
},
{
"pattern": "^\\s*global\\s*func\\s*\\w*",
"clear": "^\\s*global\\s*func\\s*",
"prefix":"🟪 ",
"icon": "function"
},
{
"pattern": "^\\s*local^\\s\\w*",
"prefix":"🔹 ",
"clear": "^\\s*local^\\s\\",
"icon": "function"
},
{
"pattern": "^\\s*static\\s*.*",
"prefix":"🔸 ",
"clear": "^\\s*static\\s*",
"icon": "function"
}
],