-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dungeon: add support for editing and managing of dsl files ("task manager") #1611
Conversation
Als ich den Titel gelesen habe, dachte ich kurz es geht um den Windows Task Manager.... Direkt ein Schreck am Morgen ^^ |
@AMatutat Was hältst Du generell davon? Wir haben jetzt in dsl-ide-support-with-lsp/ (#1601) LSP-Support bzw. zwei Plugins (VSCode, IntelliJ), so dass man hier komfortabel als Entwickler DSL-Skripte schreiben kann. Der hiesige PR (#1611) würde eine GUI hinzufügen, mit der auch Leute aus anderen Disziplinen halbwegs angenehm mit DSL-Files arbeiten können. Das könnte man auch prima in das DSL-Starter-Jar integrieren! Der einzige echte Knackpunkt ist für mich Kotlin - aber ich denke, das könnte man mittelfristig umbauen auf plain Java. |
Konzeptionell klingt das super und das alles als Gesamtpaket anzubieten finde ich gut. Zur Umsetzung kann ich (noch) nichts sagen. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mpeters4 Danke für den Beitrag! Schickes Tool :) 👍
Siehe #1611 (comment):
- Vor dem Merge muss noch im Haupt-Readme eine Erwähnung eingebaut werden (v.a. wg. der Icons und deren Lizenzen).
- Danach muss man nochmal mit den hier enthaltenen Konfig-Dateien aufräumen, die sind durch das ursprünglich getrennte Projekt teilweise doppelt. Auch sind durch das Kopieren für den PR die Gradle-Konfigurationen doch etwas durcheinander geraten (gradle-wrapper doppelt, die .jar fehlen, ...).
- Mittelfristig muss das dann ordentlich ins Projekt eingebaut werden, und ggf. könnte der Code nach Java migriert werden (bessere Wartbarkeit - eine Sprache im gesamten Projekt). Muss man sehen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
punkt 1 erledigt.
Der Task Manager ist im Rahmen der Bachelorarbeit von @mpeters4 entstanden und wird als Kotlin-Projekt in diesem PR in das Dungeon-Projekt integriert.
Mit dem Task Manager können DSL-Dateien komfortabel außerhalb einer IDE bearbeitet und geladen werden, es steht sogar ein Syntaxhighlighting zur Verfügung. Im Gegensatz zum LSP-Support (#1601) sollte dieses Sub-Projekt mittelfristig fest in den Dungeon-DSL-Starter integriert werden, damit informatikfremde Nutzende einfacher mit den Aufgabendefinition in den DSL-Dateien umgehen können. (Der LSP-Support sollte als separates Sub-Projekt weitergeführt werden, da es hier um die IDE-Unterstützung geht.)
Todo vor dem Merge:
Todo nach dem Merge:
Einbinden als Gradle-Sub-Projekt im Haupt-Dungeon-Projekt(DSL-File-Manager: Einbinden als Gradle-Sub-Projekt im Haupt-Dungeon-Projekt #1615)Anpassen der Ordnerstruktur und Hilfs-/Konfig-Dateien an die anderen Gradle-Sub-Projekte(DSL-File-Manager: Anpassen der Ordnerstruktur und Hilfs-/Konfig-Dateien an die anderen Gradle-Sub-Projekte #1616)Anpassen des Haupt-Readme (Erwähnung des Projekts)(DSL-File-Manager: Anpassen des Haupt-Readme (Erwähnung des Projekts) #1617)Ausschließen von Checkstyle und Spotless (Kotlin-Code)(DSL-File-Manager: Ausschließen von Checkstyle und Spotless (Kotlin-Code) #1618)Mittelfristig:
Umbauen auf Java (?) => https://codeconverter.io/convert/kotlin-to-java (?) https://stackoverflow.com/questions/34957430/how-to-convert-a-kotlin-source-file-to-a-java-source-file (?)(DSL-File-Manager: Umbauen auf Java #1619)Bereitstellen im JAR des Dungeon-DSL-Starters: Beim Starten des Dungeons kommt nicht der Auswahldialog für die DSL-Dateien, sondern @mpeters4's schicke GUI und von dort kann man dann Dateien laden, editieren, speichern, ...(DSL-File-Manager: Bereitstellen im JAR des Dungeon-DSL-Starters #1620)