Loading…

O formaterze Scala Online formatowanie kodu Scala

Wklej swój kod Scala, naciśnij „Formatuj” i natychmiast otrzymaj czysty, spójny wynik w stylu scalafmt. Idealne dla usług backendowych, potoków danych, bibliotek FP i przykładów w klasie. Nie wymaga plików konfiguracyjnych – tylko nowoczesne, opiniowane formatowanie Scala gotowe do przeglądu i commitów git.

Dlaczego warto używać naszego formatowania Scala

  • Natychmiastowe formatowanie nieustrukturyzowanego lub źle wyrównanego kodu Scala
  • Popraw odstępy wokół typów, parametrów i operatorów
  • Normalizuj styl nawiasów dla klas, obiektów, cech i metod
  • Zastosuj zawijanie linii w stylu scalafmt dla długich wyrażeń i łańcuchów metod
  • Obsługuje pliki `.scala`, skrypty `.sc` i pliki budowania `.sbt`
  • Kod jest formatowany przez zabezpieczony backend – nie jest udostępniany ani indeksowany
  • Responsywny interfejs edytora działający na laptopie, komputerze stacjonarnym i tablecie

🛠️ Jak sformatować kod Scala online for scala-formatter

1

1. Wklej lub załaduj swój kod Scala

📥 Wklej swój kod Scala do edytora lub przeciągnij i upuść plik `.scala`, `.sc` lub `.sbt`. Edytor stosuje podświetlanie składni Scala, abyś mógł szybko przejrzeć swój kod.

2

2. Kliknij "Formatuj"

⚙️ Naciśnij przycisk **Formatuj**. Twój kod jest wysyłany przez HTTPS do formatownika w stylu scalafmt, który reorganizuje białe znaki, wcięcia i podziały wierszy bez zmiany semantyki.

3

3. Przejrzyj wynik

🔍 Porównaj oczyszczoną wersję z oryginałem. Nawiasy klamrowe, odstępy i puste linie są znormalizowane, dzięki czemu struktura kodu jest łatwiejsza do śledzenia.

4

4. Skopiuj lub pobierz

📤 Skopiuj sformatowany kod Scala z powrotem do swojego IDE lub pobierz go jako plik `.scala` gotowy do zatwierdzenia, przeglądu kodu lub wdrożenia.

Specyfikacje techniczne

Zachowanie stylizacji (Styl Scalafmt)

Formatownik ma na celu odzwierciedlenie powszechnych konwencji scalafmt, aby Twój kod wyglądał idiomatycznie w nowoczesnych projektach Scala.

AspektZachowanieUwagi
Wcięcia i nawiasy klamroweSpójne wcięcia dla `class`, `object`, `trait`, `def`, `if`, `match` i `for`Ułatwia czytanie zagnieżdżonego przepływu sterowania i dopasowań wzorców.
Odstępy typów i parametrówNormalizuje spacje wokół dwukropków, strzałek i list parametrówNa przykład: `def f(x: Int): String` zamiast `def f(x:Int):String`.
Importy i pakietyUtrzymuje struktury pakietów i bloków importu oddzielone od definicjiPoprawia nawigację i spójność między plikami.
Puste linieStandaryzuje puste linie wokół definicji najwyższego poziomuOddziela logiczne sekcje, takie jak modele, usługi i pomocniki.
IdempotencjaWielokrotne uruchomienie formatowania daje ten sam wynikBezpieczne do wielokrotnego formatowania bez dryfu stylu.

Kompatybilność wersji Scala

Formatowanie jest zaprojektowane zarówno dla składni Scala 2, jak i Scala 3.

FunkcjaWsparcieUwagi
Scala 2.x✅ TakDziała z typowymi wzorcami, takimi jak implicits, obiekty towarzyszące i klasyczne for-comprehensions.
Scala 3 (Dotty)✅ TakRozumie given/using, metody rozszerzeń, enumy i inne konstrukcje Scala 3.
Pliki budowania SBT✅ TakFormatuje pliki `.sbt` używane w budowaniu i definicjach zależności.

Obsługiwane wejścia i ograniczenia

Zoptymalizowane dla rzeczywistych plików projektów, nie tylko małych fragmentów.

ParametrOgraniczenie / ZachowanieUwagi
Rozszerzenia plików.scala, .sc, .sbtPliki źródłowe, skrypty i definicje budowania.
Typy MIMEtext/x-scalaUżywane wewnętrznie do podświetlania składni.
Maksymalny rozmiar wejścia≈ 2 MB kodu źródłowegoBardzo duże wygenerowane kody lepiej formatować przez lokalny scalafmt.
KodowanieZalecane UTF-8Zawartość nie-UTF-8 powinna zostać przekonwertowana przed formatowaniem.

Wykonanie i bezpieczeństwo

Formatowanie odbywa się przez prywatny, zabezpieczony backend zamiast publicznych, zewnętrznych usług.

AspektZachowanieUwagi
TransportWywołania HTTPS do API formatowania ScalaTwój kod jest przesyłany bezpiecznie i nie jest publicznie udostępniany.
Limit czasu~25 sekund na żądanieZapobiega długotrwałym lub zablokowanym zadaniom formatowania przy patologicznych danych wejściowych.
SemantykaTylko przekształcenia układuFormatowanie zmienia białe znaki i układ, a nie logikę programu.

Używaj Scalafmt w lokalnym przepływie pracy

Aby uzyskać pełną kontrolę i formatowanie całego repozytorium, zainstaluj scalafmt i zintegruj go z procesem budowania lub potokiem CI:

Uniwersalne (przez sbt)

Dodaj scalafmt do projektu

addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.2")

Dodaje wtyczkę sbt, aby można było uruchamiać scalafmt z powłoki sbt.

Sformatuj wszystkie źródła

sbt scalafmtAll

Formatuje wszystkie pliki Scala i sbt w projekcie przy użyciu `.scalafmt.conf`.

Sprawdź formatowanie w CI

sbt scalafmtCheckAll

Powoduje niepowodzenie budowy, jeśli pliki nie są poprawnie sformatowane.

Zatwierdź plik `.scalafmt.conf`, aby utrzymać zespół, integracje CI i edytorów w zgodzie z tym samym stylem Scala.

Typowe przypadki użycia

Backend i usługi FP

Utrzymuj duże backendy Scala i bazy kodu FP spójne i łatwe do przeglądu.

  • Ujednolic styl w projektach Akka, ZIO, Cats Effect lub Play.
  • Oczyść kod przed otwarciem pull requestów lub udostępnianiem przykładów.
  • Normalizuj format po dużych refaktoryzacjach lub migracjach bibliotek.
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

Nauka i nauczanie Scala

Skup się na koncepcjach funkcyjnych i typach zamiast na sporach o odstępy.

  • Automatycznie formatuj prace studentów przed sprawdzeniem logiki i wzorców.
  • Pokaż przykłady przed/po formatowaniu podczas nauczania stylu Scala.
  • Przygotuj czyste fragmenty kodu do slajdów, dokumentacji i postów na blogu.

Skrypty budowania i narzędzi

Utrzymuj pliki budowania `.sbt` i małe skrypty Scala w porządku.

  • Formatuj ustawienia sbt i bloki zależności dla łatwiejszej konserwacji.
  • Oczyść skrypty pomocnicze używane do migracji lub wewnętrznych narzędzi.

❓ Frequently Asked Questions

Czym jest scalafmt i jak to narzędzie się z nim wiąże?

Scalafmt to standardowy formatowanie kodu dla Scali. Ten formatowanie online ma na celu naśladowanie zachowania scalafmt, aby układ, który widzisz tutaj, był zbliżony do tego, co otrzymujesz, uruchamiając scalafmt lub sbt-scalafmt we własnym projekcie.

🔧Czy mogę dostosować wszystkie reguły scalafmt tutaj?

To narzędzie skupia się na rozsądnym, opiniowanym profilu zamiast udostępniać każdą opcję scalafmt. Aby mieć pełną kontrolę, utwórz plik `.scalafmt.conf` w swoim projekcie i uruchom scalafmt przez sbt lub swoje IDE.

🌐Czy obsługuje składnię Scali 3?

Tak. Formatowanie jest zaprojektowane do obsługi nowoczesnych funkcji Scali 3, takich jak enumy, given/using, metody rozszerzeń i inne, obok klasycznego kodu Scali 2.

🔒Czy mój kod Scali jest wysyłany na publiczny serwer?

Twój kod jest przesyłany przez HTTPS do prywatnego zaplecza formatowania dedykowanego temu narzędziu i nie jest udostępniany ani indeksowany. W przypadku wysoce poufnego lub zastrzeżonego kodu możesz uruchomić scalafmt lokalnie.

⚙️Czy formatowanie zmieni działanie mojego programu w Scali?

Formatowanie jest zaprojektowane, aby zmieniać tylko odstępy i układ, nie semantykę. Niemniej jednak, jak przy każdym dużym formatowaniu, dobrą praktyką jest uruchomienie zestawu testów po nim.

Pro Tips

Best Practice

Przechowuj plik `.scalafmt.conf` w swoim repozytorium, aby twój edytor, CI i `sbt scalafmt` używały tego samego stylu.

Best Practice

Wykonaj dedykowany commit "tylko formatowanie" przed refaktoryzacją, aby późniejsze różnice skupiały się na rzeczywistych zmianach kodu, a nie na odstępach.

Best Practice

Używaj spójnej maksymalnej szerokości linii w zespole, aby uniknąć zakłócających różnic i konfliktów stylów.

Best Practice

Podczas nauczania pokazuj najpierw nieuporządkowaną Scalę, a następnie sformatowaną wersję, aby podkreślić, jak układ poprawia czytelność.

Additional Resources

Other Tools