Loading…

Informazioni sul Formattatore Scala Formattatore Codice Scala Online

Incolla il tuo codice Scala, premi "Formatta" e ottieni all'istante un output pulito, coerente e in stile scalafmt. Ideale per servizi backend, pipeline di dati, librerie di programmazione funzionale ed esempi didattici. Nessun file di configurazione richiesto – solo formattazione Scala moderna e opinata pronta per revisione e commit git.

Perché Usare il Nostro Formattatore Scala

  • Formatta all'istante codice Scala non strutturato o disallineato
  • Corregge la spaziatura attorno a tipi, parametri e operatori
  • Normalizza lo stile delle parentesi graffe per classi, oggetti, tratti e metodi
  • Applica l'a capo in stile scalafmt per espressioni lunghe e catene di metodi
  • Supporta file `.scala`, script `.sc` e file di build `.sbt`
  • Il codice viene formattato tramite un backend sicuro – non condiviso o indicizzato
  • Interfaccia editor reattiva che funziona su laptop, desktop e tablet

🛠️ Come Formattare il Codice Scala Online for scala-formatter

1

1. Incolla o Carica il Tuo Codice Scala

📥 Incolla il tuo codice Scala nell'editor o trascina un file `.scala`, `.sc` o `.sbt`. L'editor applica l'evidenziazione della sintassi Scala per una rapida scansione del codice.

2

2. Clicca "Formatta"

⚙️ Premi il pulsante **Formatta**. Il tuo codice viene inviato tramite HTTPS a un formattatore scalafmt-style che riorganizza spazi, rientri e interruzioni di riga senza modificare la semantica.

3

3. Rivedi il Risultato

🔍 Confronta la versione ripulita con l'originale. Parentesi graffe, spaziature e righe vuote vengono normalizzate per una struttura del codice più leggibile.

4

4. Copia o Scarica

📤 Copia il codice Scala formattato nel tuo IDE o scaricalo come file `.scala` pronto per commit, revisione del codice o distribuzione.

Specifiche Tecniche

Comportamento di Stile (Scalafmt-Style)

Il formattatore mira a riflettere le convenzioni scalafmt comuni per un aspetto idiomatico nei progetti Scala moderni.

AspettoComportamentoNote
Rientri e Parentesi GraffeRientri coerenti per `class`, `object`, `trait`, `def`, `if`, `match` e `for`Rende il flusso di controllo annidato e i pattern match più facili da leggere.
Spaziatura Tipi e ParametriNormalizza gli spazi attorno a due punti, frecce e liste di parametriAd esempio: `def f(x: Int): String` invece di `def f(x:Int):String`.
Import e PacchettiMantiene i blocchi package e import strutturati e separati dalle definizioniMigliora la navigazione e la coerenza tra i file.
Righe VuoteStandardizza le righe vuote attorno alle definizioni di primo livelloSepara sezioni logiche come modelli, servizi e helper.
IdempotenzaEseguire la formattazione più volte produce lo stesso risultatoSicuro da riformattare tutte le volte che vuoi senza deriva dello stile.

Compatibilità con le Versioni di Scala

Il formattatore è progettato sia per la sintassi di Scala 2 che di Scala 3.

CaratteristicaSupportoNote
Scala 2.x✅ SìFunziona con pattern comuni come impliciti, oggetti companion e classiche for-comprehension.
Scala 3 (Dotty)✅ SìComprende given/using, metodi di estensione, enum e altre costruzioni di Scala 3.
File di build SBT✅ SìFormatta i file `.sbt` utilizzati nelle build e nelle definizioni delle dipendenze.

Input Supportati e Limiti

Ottimizzato per file di progetto reali, non solo piccoli frammenti.

ParametroLimite / ComportamentoNote
Estensioni file.scala, .sc, .sbtFile sorgente, script e definizioni di build.
Tipi MIMEtext/x-scalaUtilizzato internamente per l'evidenziazione della sintassi.
Dimensione massima input≈ 2 MB di codice sorgenteIl codice generato estremamente grande è meglio formattato tramite scalafmt locale.
CodificaUTF-8 consigliatoIl contenuto non UTF-8 dovrebbe essere convertito prima della formattazione.

Esecuzione e Sicurezza

La formattazione viene eseguita tramite un backend privato e sicuro invece di servizi pubblici di terze parti.

AspettoComportamentoNote
TrasportoChiamate HTTPS all'API di formattazione ScalaIl tuo codice viene trasmesso in modo sicuro e non è esposto pubblicamente.
Timeout~25 secondi per richiestaPreviene lavori di formattazione a lunga esecuzione o bloccati su input patologici.
SemanticaTrasformazioni solo di layoutIl formattatore cambia spazi bianchi e layout, non la logica del tuo programma.

Usa Scalafmt nel Tuo Flusso di Lavoro Locale

Per il controllo completo e la formattazione su tutto il repository, installa scalafmt e integralo nel tuo build o pipeline CI:

Universale (via sbt)

Aggiungi scalafmt al tuo progetto

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

Aggiunge il plugin sbt così puoi eseguire scalafmt dalla shell sbt.

Formatta tutte le sorgenti

sbt scalafmtAll

Formatta tutti i file Scala e sbt nel tuo progetto usando `.scalafmt.conf`.

Controlla la formattazione in CI

sbt scalafmtCheckAll

Fa fallire il build se i file non sono formattati correttamente.

Committa un file `.scalafmt.conf` per mantenere il tuo team, le integrazioni CI e dell'editor allineati sullo stesso stile Scala.

Casi d'Uso Comuni

Backend e Servizi FP

Mantieni grandi backend Scala e codebase FP coerenti e facili da revisionare.

  • Standardizza lo stile tra progetti Akka, ZIO, Cats Effect o Play.
  • Pulisci il codice prima di aprire pull request o condividere esempi.
  • Normalizza il formato dopo grandi refactor o migrazioni di librerie.
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

Apprendimento e Insegnamento Scala

Concentrati sui concetti funzionali e sui tipi invece che su guerre di spaziatura.

  • Auto-formatta i compiti degli studenti prima di revisionare logica e pattern.
  • Mostra esempi prima/dopo la formattazione quando insegni lo stile Scala.
  • Prepara frammenti di codice puliti per slide, documentazione e post di blog.

Script di Build e Tooling

Mantieni i file di build `.sbt` e i piccoli script Scala ordinati.

  • Formatta le impostazioni sbt e i blocchi di dipendenze per una manutenzione più facile.
  • Pulisci gli script helper usati per migrazioni o strumenti interni.

❓ Frequently Asked Questions

Cos'è scalafmt e come si relaziona questo strumento ad esso?

Scalafmt è il formattatore di codice standard per Scala. Questo formattatore online mira a seguire il comportamento dello stile scalafmt in modo che il layout che vedi qui sia simile a quello che ottieni quando esegui scalafmt o sbt-scalafmt nel tuo progetto.

🔧Posso personalizzare tutte le regole di scalafmt qui?

Questo strumento si concentra su un profilo sensato e opinato invece di esporre ogni impostazione di scalafmt. Per il controllo completo, crea un file `.scalafmt.conf` nel tuo progetto ed esegui scalafmt tramite sbt o il tuo IDE.

🌐Supporta la sintassi di Scala 3?

Sì. Il formattatore è progettato per gestire le moderne funzionalità di Scala 3 come enum, given/using, metodi di estensione e altro, insieme al codice classico di Scala 2.

🔒Il mio codice Scala viene inviato a un server pubblico?

Il tuo codice viene inviato tramite HTTPS a un backend di formattazione privato dedicato a questo strumento e non viene condiviso o indicizzato. Per codice altamente confidenziale o proprietario, puoi eseguire scalafmt localmente invece.

⚙️La formattazione cambierà il comportamento del mio programma Scala?

Il formattatore è progettato per cambiare solo spazi bianchi e layout, non la semantica. Detto ciò, come con qualsiasi grande modifica di formattazione, è buona pratica eseguire la tua suite di test successivamente.

Pro Tips

Best Practice

Mantieni un file `.scalafmt.conf` nel tuo repository in modo che il tuo editor, CI e `sbt scalafmt` utilizzino tutti lo stesso stile.

Best Practice

Esegui un commit dedicato "solo formattazione" prima dei refactoring in modo che i diff successivi si concentrino sulle vere modifiche del codice, non sugli spazi bianchi.

Best Practice

Utilizza una larghezza massima di riga coerente nel tuo team per evitare diff rumorosi e stili contrastanti.

Best Practice

Quando insegni, mostra prima Scala disordinato, poi la versione formattata per evidenziare come il layout migliori la leggibilità.

Additional Resources

Other Tools