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. 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. 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. 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. 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.
| Aspecto | Comportamento | Notas |
|---|---|---|
| Indentação e Chaves | Indentaçã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âmetros | Normaliza espaços ao redor de dois pontos, setas e listas de parâmetros | Por exemplo: `def f(x: Int): String` em vez de `def f(x:Int):String`. |
| Imports e Pacotes | Mantém blocos de pacote e import estruturados e separados das definições | Melhora a navegação e a consistência entre arquivos. |
| Linhas em Branco | Padroniza linhas em branco ao redor de definições de nível superior | Separa seções lógicas como modelos, serviços e auxiliares. |
| Idempotência | Executar a formatação várias vezes produz o mesmo resultado | Seguro 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.
| Funcionalidade | Suporte | Notas |
|---|---|---|
| Scala 2.x | ✅ Sim | Funciona com padrões comuns como implícitos, objetos companheiros e for-comprehensions clássicos. |
| Scala 3 (Dotty) | ✅ Sim | Compreende given/using, métodos de extensão, enums e outras construções do Scala 3. |
| Arquivos de build SBT | ✅ Sim | Formata 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âmetro | Limite / Comportamento | Notas |
|---|---|---|
| Extensões de arquivo | .scala, .sc, .sbt | Arquivos fonte, scripts e definições de build. |
| Tipos MIME | text/x-scala | Usado internamente para realce de sintaxe. |
| Tamanho máximo de entrada | ≈ 2 MB de código fonte | Código gerado extremamente grande é melhor formatado via scalafmt local. |
| Codificação | UTF-8 recomendado | Conteú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.
| Aspecto | Comportamento | Notas |
|---|---|---|
| Transporte | Chamadas HTTPS para a API de formatação Scala | Seu código é transmitido com segurança e não é exposto publicamente. |
| Tempo limite | ~25 segundos por solicitação | Evita trabalhos de formatação de longa duração ou travados em entradas patológicas. |
| Semântica | Transformações apenas de layout | O 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 scalafmtAllFormata todos os arquivos Scala e sbt no seu projeto usando `.scalafmt.conf`.
Verificar formatação no CI
sbt scalafmtCheckAllFalha o build se os arquivos não estiverem devidamente formatados.
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?
🔧Posso personalizar todas as regras do scalafmt aqui?
🌐Ele suporta a sintaxe do Scala 3?
🔒Meu código Scala é enviado para um servidor público?
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?
Pro Tips
Mantenha um arquivo `.scalafmt.conf` em seu repositório para que seu editor, CI e `sbt scalafmt` usem todos o mesmo estilo.
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.
Use uma largura máxima de linha consistente em toda a sua equipe para evitar diffs ruidosos e estilos conflitantes.
Ao ensinar, mostre primeiro o Scala desorganizado, depois a versão formatada para destacar como o layout melhora a legibilidade.
Additional Resources
Other Tools
- Embelezador CSS
- Embelezador HTML
- Embelezador Javascript
- Embelezador PHP
- Seletor de Cores
- Extrator de Sprites
- Decodificador Base64
- Codificador Base64
- Formatador Csharp
- Formatador CSV
- Dockerfile Formatter
- Formatador Elm
- Formatador ENV
- Formatador Go
- Formatador GraphQL
- Formatador HCL
- Formatador INI
- Formatador JSON
- Formatador LaTeX
- Formatador Markdown
- Formatador Objective-C
- Php Formatter
- Formatador Proto
- Formatador Python
- Formatador Ruby
- Formatador Rust
- Formatador de Script Shell
- Formatador SQL
- Formatador SVG
- Formatador Swift
- Formatador TOML
- Typescript Formatter
- Formatador XML
- Formatador YAML
- Formatador Yarn
- Minificador CSS
- Html Minifier
- Javascript Minifier
- Minificador JSON
- Minificador XML
- Visualizador de Cabeçalhos HTTP
- PDF para Texto
- Testador de Regex
- Verificador de Classificação SERP
- Consulta Whois