Waarom Onze Scala Formatter Gebruiken
- Formatteer direct ongestructureerde of slecht uitgelijnde Scala code
- Herstel spaties rond types, parameters en operatoren
- Normaliseer accolade stijl voor klassen, objecten, traits en methoden
- Pas scalafmt-stijl regelafbreking toe voor lange expressies en methodenketens
- Ondersteunt `.scala`, `.sc` scripts en `.sbt` build bestanden
- Code wordt geformatteerd via een beveiligde backend β niet gedeeld of geΓ―ndexeerd
- Responsieve editor-interface die werkt op laptop, desktop en tablet
π οΈ Hoe Scala-code online te formatteren for scala-formatter
1. Plak of laad je Scala-code
π₯ Plak je Scala-code in de editor of sleep-en-plaats een `.scala`, `.sc` of `.sbt` bestand. De editor past Scala-syntaxmarkering toe zodat je snel je code kunt scannen.
2. Klik op "Formatteren"
βοΈ Druk op de **Formatteren** knop. Je code wordt via HTTPS naar een scalafmt-stijl formatter gestuurd die witruimte, inspringing en regeleinden herschikt zonder de semantiek te veranderen.
3. Bekijk het resultaat
π Vergelijk de opgeschoonde versie met je origineel. Accolades, spaties en lege regels worden genormaliseerd zodat de structuur van je code makkelijker te volgen is.
4. Kopieer of download
π€ Kopieer de geformatteerde Scala-code terug naar je IDE, of download het als een `.scala` bestand klaar voor commit, code review of implementatie.
Technische specificaties
Stijlen gedrag (Scalafmt-stijl)
De formatter streeft ernaar om veelvoorkomende scalafmt-conventies te spiegelen zodat je code idiomatisch oogt in moderne Scala-projecten.
| Aspect | Gedrag | Opmerkingen |
|---|---|---|
| Inspringing & Accolades | Consistente inspringing voor `class`, `object`, `trait`, `def`, `if`, `match` en `for` | Maakt geneste controleflow en patroonmatches makkelijker leesbaar. |
| Type & Parameter SpatiΓ«ring | Normaliseert spaties rond dubbele punten, pijlen en parameterlijsten | Bijvoorbeeld: `def f(x: Int): String` in plaats van `def f(x:Int):String`. |
| Imports & Packages | Houdt package- en importblokken gestructureerd en gescheiden van definities | Verbetert navigatie en consistentie tussen bestanden. |
| Lege regels | Standaardiseert lege regels rond top-level definities | Scheidt logische secties zoals modellen, services en helpers. |
| Idempotentie | Meerdere keren formatteren levert hetzelfde resultaat op | Veilig om zo vaak als je wilt te herformatteren zonder stijldrift. |
Scala-versiecompatibiliteit
De formatter is ontworpen voor zowel Scala 2- als Scala 3-syntax.
| Functie | Ondersteuning | Opmerkingen |
|---|---|---|
| Scala 2.x | β Ja | Werkt met gangbare patronen zoals implicits, companion objecten en klassieke for-comprehensions. |
| Scala 3 (Dotty) | β Ja | Begrijpt given/using, extensiemethoden, enums en andere Scala 3-constructies. |
| SBT-buildbestanden | β Ja | Formatteert `.sbt`-bestanden gebruikt in builds en afhankelijkheidsdefinities. |
Ondersteunde invoer & limieten
Geoptimaliseerd voor projectbestanden uit de praktijk, niet alleen kleine fragmenten.
| Parameter | Limiet / Gedrag | Opmerkingen |
|---|---|---|
| Bestandsextensies | .scala, .sc, .sbt | Bronbestanden, scripts en builddefinities. |
| MIME-typen | text/x-scala | Intern gebruikt voor syntaxismarkering. |
| Maximale invoergrootte | β 2 MB broncode | Extreem grote gegenereerde code kan beter worden geformatteerd via lokale scalafmt. |
| Codering | UTF-8 aanbevolen | Niet-UTF-8-inhoud moet worden geconverteerd voor het formatteren. |
Uitvoering & veiligheid
Formatteren gebeurt via een privΓ©, beveiligd backend in plaats van openbare, externe diensten.
| Aspect | Gedrag | Opmerkingen |
|---|---|---|
| Transport | HTTPS-aanroepen naar de Scala-formatterings-API | Je code wordt veilig verzonden en is niet openbaar toegankelijk. |
| Time-out | ~25 seconden per verzoek | Voorkomt langlopende of vastgelopen opmaaktaken bij pathologische invoer. |
| Semantiek | Alleen lay-outtransformaties | De formatter verandert witruimte en lay-out, niet uw programmalogica. |
Gebruik Scalafmt in uw lokale workflow
Voor volledige controle en repository-brede opmaak installeert u scalafmt en integreert u het in uw build- of CI-pijplijn:
Universeel (via sbt)
Voeg scalafmt toe aan uw project
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2")Voegt de sbt-plugin toe zodat u scalafmt kunt uitvoeren vanuit de sbt-shell.
Formatteer alle bronnen
sbt scalafmtAllFormatteert alle Scala- en sbt-bestanden in uw project met behulp van `.scalafmt.conf`.
Controleer opmaak in CI
sbt scalafmtCheckAllLaat de build mislukken als bestanden niet correct zijn geformatteerd.
Veelvoorkomende gebruiksscenario's
Backend & FP-services
Houd grote Scala-backends en FP-codebases consistent en gemakkelijk te beoordelen.
- Standaardiseer stijl in Akka, ZIO, Cats Effect of Play-projecten.
- Maak code op voordat u pull-requests opent of voorbeelden deelt.
- Normaliseer opmaak na grote refactors of bibliotheekmigraties.
object A{def main(args:Array[String]){println("hi")}}
object A {
def main(args: Array[String]): Unit = {
println("hi")
}
}
Scala leren & onderwijzen
Focus op functionele concepten en types in plaats van op spatieruzies.
- Formatteer automatisch studenteninzendingen voordat logica en patronen worden beoordeeld.
- Toon voor/na opmaakvoorbeelden bij het onderwijzen van Scala-stijl.
- Bereid schone codefragmenten voor voor dia's, documentatie en blogposts.
Build- & toolingscripts
Houd `.sbt` buildbestanden en kleine Scala-scripts netjes.
- Formatteer sbt-instellingen en afhankelijkheidsblokken voor eenvoudiger onderhoud.
- Maak hulpscripts schoon die worden gebruikt voor migraties of interne tools.
β Frequently Asked Questions
βWat is scalafmt en hoe verhoudt deze tool zich daartoe?
π§Kan ik hier alle scalafmt-regels aanpassen?
πOndersteunt het Scala 3-syntax?
πWordt mijn Scala-code naar een openbare server gestuurd?
HTTPS naar een privΓ©-opmaakbackend gestuurd die speciaal voor deze tool is toegewezen en wordt niet gedeeld of geΓ―ndexeerd. Voor zeer vertrouwelijke of eigendomsgebonden code kun je scalafmt lokaal uitvoeren.βοΈVerandert opmaken hoe mijn Scala-programma zich gedraagt?
Pro Tips
Houd een `.scalafmt.conf` bestand in je repo, zodat je editor, CI en `sbt scalafmt` allemaal dezelfde stijl gebruiken.
Voer een speciale "alleen opmaken" commit uit voor refactors, zodat latere verschillen zich richten op echte codewijzigingen, niet op witruimte.
Gebruik een consistente maximale regelbreedte in je team om rumoerige verschillen en conflicterende stijlen te voorkomen.
Laat bij lesgeven eerst rommelige Scala zien, dan de opgemaakte versie om te benadrukken hoe lay-out de leesbaarheid verbetert.
Additional Resources
Other Tools
- CSS Opmaker
- HTML Opmaker
- Javascript Opmaker
- PHP Opmaker
- Kleurkiezer
- Sprite Extractor
- Base64 Decoder
- Base64 Encoder
- Csharp Formatter
- Csv Formatter
- Dockerfile Formatter
- Elm Formatter
- ENV Formatter
- Go Formatter
- Graphql Formatter
- Hcl Formatter
- INI Formatter
- JSON Formatter
- Latex Formatter
- Markdown Formatter
- Objectivec Formatter
- Php Formatter
- Proto Formatter
- Python Formatter
- Ruby Formatter
- Rust Formatter
- Shell Script Formatter
- SQL Formatter
- SVG Formatter
- Swift Formatter
- TOML Formatter
- Typescript Formatter
- XML Formatter
- YAML Formatter
- Yarn Formatter
- CSS Verkleiner
- Html Minifier
- Javascript Minifier
- JSON Verkleiner
- XML Verkleiner
- Http Headers Viewer
- PDF Naar Tekst
- Regex Tester
- Serp Rang Checker
- Whois Opzoeken