Loading…

Sobre o Formatador Scala Formatador de Código Scala Online

Cole seu código Scala, clique em "Formatar" e obtenha instantaneamente uma saída limpa, consistente e no estilo scalafmt. Ideal para serviços de backend, pipelines de dados, bibliotecas de programação funcional e exemplos em sala de aula. Sem necessidade de arquivos de configuração – apenas formatação Scala moderna e opinativa pronta para revisão e commits no git.

Por Que Usar Nosso Formatador Scala

  • Formate instantaneamente código Scala não estruturado ou desalinhado
  • Corrija espaçamento ao redor de tipos, parâmetros e operadores
  • Normalize o estilo de chaves para classes, objetos, traits e métodos
  • Aplique quebra de linha no estilo scalafmt para expressões longas e cadeias de métodos
  • Suporta arquivos `.scala`, scripts `.sc` e arquivos de build `.sbt`
  • O código é formatado via um backend seguro – não é compartilhado ou indexado
  • Interface do editor responsiva que funciona em laptop, desktop e tablet

🛠️ Como Formatador Código Scala Online for scala-formatter

1

1. Cole ou Carregue Seu Código Scala

📥 Cole seu código Scala no editor ou arraste e solte um arquivo `.scala`, `.sc` ou `.sbt`. O editor aplica realce de sintaxe Scala para que você possa escanear rapidamente seu código.

2

2. Clique em "Formatar"

⚙️ Pressione o botão **Formatar**. Seu código é enviado via HTTPS para um formatador de estilo scalafmt que reorganiza espaços em branco, indentação e quebras de linha sem alterar a semântica.

3

3. Revise o Resultado

🔍 Compare a versão limpa com sua original. Chaves, espaçamento e linhas em branco são normalizados para que a estrutura do seu código seja mais fácil de seguir.

4

4. Copie ou Baixe

📤 Copie o código Scala formatado de volta para sua IDE ou baixe-o como um arquivo `.scala` pronto para commit, revisão de código ou implantação.

Especificações Técnicas

Comportamento de Estilo (Estilo Scalafmt)

O formatador visa espelhar as convenções comuns do scalafmt para que seu código pareça idiomático em projetos Scala modernos.

AspectoComportamentoNotas
Indentação e ChavesIndentação consistente para `class`, `object`, `trait`, `def`, `if`, `match` e `for`Torna o fluxo de controle aninhado e as correspondências de padrão mais fáceis de ler.
Espaçamento de Tipos e ParâmetrosNormaliza espaços ao redor de dois pontos, setas e listas de parâmetrosPor exemplo: `def f(x: Int): String` em vez de `def f(x:Int):String`.
Imports e PacotesMantém blocos de pacote e import estruturados e separados das definiçõesMelhora a navegação e a consistência entre arquivos.
Linhas em BrancoPadroniza linhas em branco ao redor de definições de nível superiorSepara seções lógicas como modelos, serviços e auxiliares.
IdempotênciaExecutar a formatação várias vezes produz o mesmo resultadoSeguro para reformatar quantas vezes quiser sem derivação de estilo.

Compatibilidade de Versão do Scala

O formatador é projetado para sintaxe tanto do Scala 2 quanto do Scala 3.

FuncionalidadeSuporteNotas
Scala 2.x✅ SimFunciona com padrões comuns como implícitos, objetos companheiros e for-comprehensions clássicos.
Scala 3 (Dotty)✅ SimCompreende given/using, métodos de extensão, enums e outras construções do Scala 3.
Arquivos de build SBT✅ SimFormata arquivos `.sbt` usados em builds e definições de dependência.

Entrada Suportada e Limites

Otimizado para arquivos de projeto do mundo real, não apenas pequenos trechos.

ParâmetroLimite / ComportamentoNotas
Extensões de arquivo.scala, .sc, .sbtArquivos fonte, scripts e definições de build.
Tipos MIMEtext/x-scalaUsado internamente para realce de sintaxe.
Tamanho máximo de entrada≈ 2 MB de código fonteCódigo gerado extremamente grande é melhor formatado via scalafmt local.
CodificaçãoUTF-8 recomendadoConteúdo não UTF-8 deve ser convertido antes da formatação.

Execução e Segurança

A formatação é realizada através de um backend privado e seguro, em vez de serviços públicos de terceiros.

AspectoComportamentoNotas
TransporteChamadas HTTPS para a API de formatação ScalaSeu código é transmitido com segurança e não é exposto publicamente.
Tempo limite~25 segundos por solicitaçãoEvita trabalhos de formatação de longa duração ou travados em entradas patológicas.
SemânticaTransformações apenas de layoutO formatador altera espaços em branco e layout, não a lógica do seu programa.

Use o Scalafmt no Seu Fluxo de Trabalho Local

Para controle total e formatação em todo o repositório, instale o scalafmt e integre-o ao seu build ou pipeline de CI:

Universal (via sbt)

Adicione scalafmt ao seu projeto

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

Adiciona o plugin sbt para que você possa executar o scalafmt a partir do shell sbt.

Formatar todas as fontes

sbt scalafmtAll

Formata todos os arquivos Scala e sbt no seu projeto usando `.scalafmt.conf`.

Verificar formatação no CI

sbt scalafmtCheckAll

Falha o build se os arquivos não estiverem devidamente formatados.

Faça commit de um arquivo `.scalafmt.conf` para manter sua equipe, integrações de CI e editor alinhados no mesmo estilo Scala.

Casos de Uso Comuns

Backend & Serviços FP

Mantenha grandes backends Scala e bases de código FP consistentes e fáceis de revisar.

  • Padronize o estilo em projetos Akka, ZIO, Cats Effect ou Play.
  • Limpe o código antes de abrir pull requests ou compartilhar exemplos.
  • Normalize o formato após grandes refatorações ou migrações de biblioteca.
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

Aprendizado & Ensino de Scala

Concentre-se em conceitos funcionais e tipos em vez de guerras de espaçamento.

  • Auto-formate submissões de alunos antes de revisar lógica e padrões.
  • Mostre exemplos de antes/depois da formatação ao ensinar estilo Scala.
  • Prepare trechos de código limpos para slides, documentação e posts de blog.

Scripts de Build & Ferramentas

Mantenha arquivos de build `.sbt` e pequenos scripts Scala organizados.

  • Formate configurações sbt e blocos de dependência para manutenção mais fácil.
  • Limpe scripts auxiliares usados para migrações ou ferramentas internas.

❓ Frequently Asked Questions

O que é scalafmt e como esta ferramenta se relaciona com ele?

Scalafmt é o formatador de código padrão para Scala. Este formatador online visa seguir o comportamento do estilo scalafmt para que o layout que você vê aqui seja próximo ao que você obtém ao executar scalafmt ou sbt-scalafmt em seu próprio projeto.

🔧Posso personalizar todas as regras do scalafmt aqui?

Esta ferramenta foca em um perfil sensato e opinativo, em vez de expor todas as configurações do scalafmt. Para controle total, crie um arquivo `.scalafmt.conf` em seu projeto e execute scalafmt via sbt ou sua IDE.

🌐Ele suporta a sintaxe do Scala 3?

Sim. O formatador é projetado para lidar com recursos modernos do Scala 3, como enums, given/using, métodos de extensão e mais, juntamente com código clássico do Scala 2.

🔒Meu código Scala é enviado para um servidor público?

Seu código é enviado via HTTPS para um backend de formatação privado dedicado a esta ferramenta e não é compartilhado ou indexado. Para código altamente confidencial ou proprietário, você pode executar scalafmt localmente.

⚙️A formatação alterará como meu programa Scala se comporta?

O formatador é projetado para alterar apenas espaços em branco e layout, não a semântica. Dito isso, como em qualquer grande mudança de formatação, é uma boa prática executar sua suíte de testes depois.

Pro Tips

Best Practice

Mantenha um arquivo `.scalafmt.conf` em seu repositório para que seu editor, CI e `sbt scalafmt` usem todos o mesmo estilo.

Best Practice

Execute um commit dedicado "apenas formatação" antes de refatorações para que os diffs posteriores se concentrem em mudanças reais de código, não em espaços em branco.

Best Practice

Use uma largura máxima de linha consistente em toda a sua equipe para evitar diffs ruidosos e estilos conflitantes.

Best Practice

Ao ensinar, mostre primeiro o Scala desorganizado, depois a versão formatada para destacar como o layout melhora a legibilidade.

Additional Resources

Other Tools