In den Extension Settings sollten noch folgende Einstellungen überprüft werden:
- Formatting Provider:
ormolu - Manage HLS:
GHCup - Ghcup Executable Path: expl. Angabe, wenn
ghcupnicht im PATH vorhanden
Die Extension übernimmt dann automatisch die notwendigen Installationen (GHC, HLS).
Bei korrektem Setup sollten z.B folgende Features von HLS in VScode funktionieren:
- Linter (als Anmerkungen im Code)
- Formatter
Shift-Alt-F - Typinformationen
Hover - Sprung zur Deklaration
Ctrl-Click
Insert Final Newlineaktivieren- der Formatchecker über github erwartet diese, lokal fügt Ormolu diese nicht automatisch hinzu
Auto SaveundFormat on Saveaktivieren
Der Branch main stellt den Entwicklungsstand dar.
Der Zustand auf release wird auf den GitHub Runner ausgeliefert und ist somit der Production-Branch.
Beim Entwickeln eines neuen Features ist stets ein eigener Branch anzulegen.
Dieser zweigt von main ab und folgt der Namenskonvention feature-<issue>, wobei <issue> für die ID des Tickets steht.
Zu neuen Regeln sollten immer entsprechende Testfälle mitentwickelt werden (Ordner: test). Dazu gehören Java-Beispieldateien, die eigentlichen Tests und der jeweilige Eintrag in test/Spec.hs.
Um neue Regeln in der Anwendung zu integrieren, müssen diese in src/Language/Java/Rules.hs angegeben werden.
stack build- Laden der Dependencies und Builden des Projektsstack test- Führt die Test-Suite ausstack exec jlint <srcpath>- Ausführen der Executable- nützliche Entwickler-Optionen: (zusätzlich
--zum Escapen der Optionen vonstack)-t/--show-ast- nur Anzeige von AST, keine Analyse--pretty- printet formatierten Java-Code
- Beispiel 1:
stack exec jlint -- /test/javaführt die Analyse aller .java Files im angegebenen Ordner durch - Beispiel 2:
stack exec jlint -- /test/java/UseElse.java -tzeigt den AST der Datei
- nützliche Entwickler-Optionen: (zusätzlich