Loading…

Acerca del Formateador Scala Formateador de Código Scala en Línea

Pega tu código Scala, presiona "Formatear" y obtén al instante una salida limpia, consistente y estilo scalafmt. Ideal para servicios backend, pipelines de datos, librerías de PF y ejemplos en clase. No se requieren archivos de configuración – solo formateo Scala moderno y con criterio, listo para revisión y commits en git.

Por Qué Usar Nuestro Formateador Scala

  • Formatea al instante código Scala desestructurado o desalineado
  • Corrige el espaciado alrededor de tipos, parámetros y operadores
  • Normaliza el estilo de llaves para clases, objetos, traits y métodos
  • Aplica ajuste de líneas estilo scalafmt para expresiones largas y cadenas de métodos
  • Soporta archivos `.scala`, scripts `.sc` y archivos de build `.sbt`
  • El código se formatea a través de un backend seguro – no se comparte ni indexa
  • Interfaz de editor adaptable que funciona en portátil, escritorio y tableta

🛠️ Cómo Formatear Código Scala en Línea for scala-formatter

1

1. Pega o Carga Tu Código Scala

📥 Pega tu código Scala en el editor o arrastra y suelta un archivo `.scala`, `.sc` o `.sbt`. El editor aplica resaltado de sintaxis Scala para que puedas escanear rápidamente tu código.

2

2. Haz clic en "Formatear"

⚙️ Pulsa el botón **Formatear**. Tu código se envía por HTTPS a un formateador de estilo scalafmt que reorganiza espacios en blanco, sangrado y saltos de línea sin cambiar la semántica.

3

3. Revisa el Resultado

🔍 Compara la versión limpia con tu original. Las llaves, espacios y líneas en blanco se normalizan para que la estructura de tu código sea más fácil de seguir.

4

4. Copia o Descarga

📤 Copia el código Scala formateado de vuelta a tu IDE, o descárgalo como un archivo `.scala` listo para commit, revisión de código o despliegue.

Especificaciones Técnicas

Comportamiento de Estilo (Estilo Scalafmt)

El formateador busca reflejar las convenciones comunes de scalafmt para que tu código luzca idiomático en proyectos Scala modernos.

AspectoComportamientoNotas
Sangrado y LlavesSangrado consistente para `class`, `object`, `trait`, `def`, `if`, `match` y `for`Hace que el flujo de control anidado y las coincidencias de patrones sean más fáciles de leer.
Espaciado de Tipos y ParámetrosNormaliza espacios alrededor de dos puntos, flechas y listas de parámetrosPor ejemplo: `def f(x: Int): String` en lugar de `def f(x:Int):String`.
Imports y PaquetesMantiene los bloques de paquete e import estructurados y separados de las definicionesMejora la navegación y consistencia entre archivos.
Líneas en BlancoEstandariza líneas en blanco alrededor de definiciones de nivel superiorSepara secciones lógicas como modelos, servicios y ayudantes.
IdempotenciaEjecutar el formateo múltiples veces produce el mismo resultadoSeguro de reformatear tantas veces como desees sin desviación de estilo.

Compatibilidad de Versiones de Scala

El formateador está diseñado para sintaxis tanto de Scala 2 como de Scala 3.

CaracterísticaSoporteNotas
Scala 2.x✅ SíFunciona con patrones comunes como implícitos, objetos compañeros y comprensiones clásicas de for.
Scala 3 (Dotty)✅ SíComprende given/using, métodos de extensión, enumeraciones y otras construcciones de Scala 3.
Archivos de construcción SBT✅ SíFormatea archivos `.sbt` utilizados en construcciones y definiciones de dependencias.

Entradas Soportadas y Límites

Optimizado para archivos de proyectos reales, no solo fragmentos pequeños.

ParámetroLímite / ComportamientoNotas
Extensiones de archivo.scala, .sc, .sbtArchivos fuente, scripts y definiciones de construcción.
Tipos MIMEtext/x-scalaUtilizado internamente para resaltado de sintaxis.
Tamaño máximo de entrada≈ 2 MB de código fuenteEl código generado extremadamente grande se formatea mejor mediante scalafmt local.
CodificaciónUTF-8 recomendadoEl contenido no UTF-8 debe convertirse antes del formateo.

Ejecución y Seguridad

El formateo se realiza a través de un backend privado y seguro en lugar de servicios públicos de terceros.

AspectoComportamientoNotas
TransporteLlamadas HTTPS a la API de formateo de ScalaTu código se transmite de forma segura y no se expone públicamente.
Tiempo de espera~25 segundos por solicitudEvita trabajos de formateo de larga duración o bloqueados en entradas problemáticas.
SemánticaTransformaciones solo de diseñoEl formateador cambia espacios en blanco y diseño, no la lógica de tu programa.

Usa Scalafmt en tu Flujo de Trabajo Local

Para control total y formateo en todo el repositorio, instala scalafmt e intégralo en tu compilación o pipeline de CI:

Universal (vía sbt)

Añade scalafmt a tu proyecto

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

Añade el plugin de sbt para que puedas ejecutar scalafmt desde la shell de sbt.

Formatea todas las fuentes

sbt scalafmtAll

Formatea todos los archivos Scala y sbt en tu proyecto usando `.scalafmt.conf`.

Verifica el formateo en CI

sbt scalafmtCheckAll

Falla la compilación si los archivos no están correctamente formateados.

Confirma un archivo `.scalafmt.conf` para mantener a tu equipo, integraciones de CI y editor alineados en el mismo estilo de Scala.

Casos de Uso Comunes

Backend y Servicios de FP

Mantén grandes backends de Scala y bases de código FP consistentes y fáciles de revisar.

  • Estandariza el estilo en proyectos de Akka, ZIO, Cats Effect o Play.
  • Limpia el código antes de abrir pull requests o compartir ejemplos.
  • Normaliza el formato después de grandes refactorizaciones o migraciones de bibliotecas.
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

Aprendizaje y Enseñanza de Scala

Enfócate en conceptos funcionales y tipos en lugar de guerras de espaciado.

  • Auto-formatea las entregas de estudiantes antes de revisar lógica y patrones.
  • Muestra ejemplos de antes/después del formateo al enseñar estilo de Scala.
  • Prepara fragmentos de código limpios para diapositivas, documentos y publicaciones de blog.

Scripts de Compilación y Herramientas

Mantén archivos de compilación `.sbt` y pequeños scripts Scala ordenados.

  • Formatea configuraciones de sbt y bloques de dependencias para un mantenimiento más fácil.
  • Limpia scripts auxiliares usados para migraciones o herramientas internas.

❓ Frequently Asked Questions

¿Qué es scalafmt y cómo se relaciona esta herramienta con él?

Scalafmt es el formateador de código estándar para Scala. Este formateador en línea pretende seguir el comportamiento de estilo scalafmt para que el diseño que ve aquí sea similar al que obtiene al ejecutar scalafmt o sbt-scalafmt en su propio proyecto.

🔧¿Puedo personalizar todas las reglas de scalafmt aquí?

Esta herramienta se centra en un perfil sensato y con opinión en lugar de exponer cada opción de scalafmt. Para control total, cree un archivo `.scalafmt.conf` en su proyecto y ejecute scalafmt a través de sbt o su IDE.

🌐¿Admite sintaxis de Scala 3?

Sí. El formateador está diseñado para manejar características modernas de Scala 3 como enums, given/using, métodos de extensión y más, junto con código clásico de Scala 2.

🔒¿Se envía mi código Scala a un servidor público?

Su código se envía a través de HTTPS a un backend de formateo privado dedicado a esta herramienta y no se comparte ni indexa. Para código altamente confidencial o propietario, puede ejecutar scalafmt localmente.

⚙️¿Cambiará el formateo el comportamiento de mi programa Scala?

El formateador está diseñado para cambiar solo espacios en blanco y diseño, no semántica. Dicho esto, como con cualquier cambio de formateo grande, es una buena práctica ejecutar su suite de pruebas después.

Pro Tips

Best Practice

Mantenga un archivo `.scalafmt.conf` en su repositorio para que su editor, CI y `sbt scalafmt` usen todos el mismo estilo.

Best Practice

Ejecute un commit dedicado "solo formateo" antes de refactorizaciones para que los diffs posteriores se centren en cambios de código reales, no en espacios en blanco.

Best Practice

Use un ancho máximo de línea consistente en todo su equipo para evitar diffs ruidosos y estilos conflictivos.

Best Practice

Al enseñar, muestre primero Scala desordenado, luego la versión formateada para resaltar cómo el diseño mejora la legibilidad.

Additional Resources

Other Tools