Loading…

Tentang Formatter Scala Formatter Kode Scala Online

Tempel kode Scala Anda, tekan "Format" dan dapatkan keluaran bersih, konsisten, bergaya scalafmt secara instan. Ideal untuk layanan backend, pipa data, pustaka FP, dan contoh kelas. Tidak perlu file konfigurasi – hanya format Scala modern yang siap untuk ditinjau dan commit git.

Mengapa Menggunakan Formatter Scala Kami

  • Format kode Scala yang tidak terstruktur atau tidak sejajar secara instan
  • Perbaiki spasi di sekitar tipe, parameter, dan operator
  • Normalkan gaya kurung untuk kelas, objek, trait, dan metode
  • Terapkan pembungkus baris gaya scalafmt untuk ekspresi panjang dan rantai metode
  • Mendukung file `.scala`, skrip `.sc`, dan file build `.sbt`
  • Kode diformat melalui backend yang diamankan – tidak dibagikan atau diindeks
  • Antarmuka editor responsif yang berfungsi di laptop, desktop, dan tablet

πŸ› οΈ Cara Memformat Kode Scala Secara Online for scala-formatter

1

1. Tempel atau Muat Kode Scala Anda

πŸ“₯ Tempelkan kode Scala Anda ke editor atau seret-dan-lepas file `.scala`, `.sc`, atau `.sbt`. Editor menerapkan penyorotan sintaks Scala sehingga Anda dapat memindai kode dengan cepat.

2

2. Klik "Format"

βš™οΈ Tekan tombol **Format**. Kode Anda dikirim melalui HTTPS ke pemformat bergaya scalafmt yang mengatur ulang spasi, indentasi, dan jeda baris tanpa mengubah semantik.

3

3. Tinjau Hasilnya

πŸ” Bandingkan versi yang telah dibersihkan dengan aslinya. Kurung kurawal, spasi, dan baris kosong dinormalisasi sehingga struktur kode lebih mudah diikuti.

4

4. Salin atau Unduh

πŸ“€ Salin kode Scala yang telah diformat kembali ke IDE Anda, atau unduh sebagai file `.scala` yang siap untuk komit, tinjauan kode, atau penyebaran.

Spesifikasi Teknis

Perilaku Penataan Gaya (Bergaya Scalafmt)

Pemformat bertujuan meniru konvensi scalafmt umum sehingga kode Anda terlihat idiomatis dalam proyek Scala modern.

AspekPerilakuCatatan
Indentasi & Kurung KurawalIndentasi konsisten untuk `class`, `object`, `trait`, `def`, `if`, `match`, dan `for`Membuat alur kontrol bersarang dan pencocokan pola lebih mudah dibaca.
Spasi Tipe & ParameterMenormalisasi spasi di sekitar titik dua, panah, dan daftar parameterContohnya: `def f(x: Int): String` alih-alih `def f(x:Int):String`.
Impor & PaketMenjaga blok paket dan impor terstruktur dan terpisah dari definisiMeningkatkan navigasi dan konsistensi antar file.
Baris KosongMembakukan baris kosong di sekitar definisi tingkat atasMemisahkan bagian logis seperti model, layanan, dan pembantu.
IdempotensiMenjalankan pemformatan beberapa kali menghasilkan hasil yang samaAman untuk diformat ulang sesering yang Anda inginkan tanpa penyimpangan gaya.

Kompatibilitas Versi Scala

Formatter ini dirancang untuk sintaks Scala 2 dan Scala 3.

FiturDukunganCatatan
Scala 2.xβœ… YaBekerja dengan pola umum seperti implisit, objek pendamping, dan for-comprehensions klasik.
Scala 3 (Dotty)βœ… YaMemahami given/using, metode ekstensi, enum, dan konstruk Scala 3 lainnya.
File build SBTβœ… YaMemformat file `.sbt` yang digunakan dalam build dan definisi dependensi.

Input & Batasan yang Didukung

Dioptimalkan untuk file proyek dunia nyata, bukan hanya cuplikan kecil.

ParameterBatas / PerilakuCatatan
Ekstensi file.scala, .sc, .sbtFile sumber, skrip, dan definisi build.
Tipe MIMEtext/x-scalaDigunakan secara internal untuk penyorotan sintaks.
Ukuran input maksimumβ‰ˆ 2 MB kode sumberKode yang dihasilkan sangat besar lebih baik diformat melalui scalafmt lokal.
PengodeanUTF-8 direkomendasikanKonten non-UTF-8 harus dikonversi sebelum pemformatan.

Eksekusi & Keamanan

Pemformatan dilakukan melalui backend pribadi yang diamankan, bukan layanan publik pihak ketiga.

AspekPerilakuCatatan
TransportasiPanggilan HTTPS ke API pemformatan ScalaKode Anda dikirimkan dengan aman dan tidak diekspos secara publik.
Batas Waktu~25 detik per permintaanMencegah pekerjaan pemformatan yang berjalan lama atau macet pada input patologis.
SemantikTransformasi tata letak sajaFormatter mengubah spasi dan tata letak, bukan logika program Anda.

Gunakan Scalafmt dalam Alur Kerja Lokal Anda

Untuk kontrol penuh dan pemformatan di seluruh repositori, instal scalafmt dan integrasikan ke dalam build atau pipeline CI Anda:

Universal (via sbt)

Tambahkan scalafmt ke proyek Anda

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

Menambahkan plugin sbt sehingga Anda dapat menjalankan scalafmt dari shell sbt.

Format semua sumber

sbt scalafmtAll

Memformat semua file Scala dan sbt di proyek Anda menggunakan `.scalafmt.conf`.

Periksa pemformatan di CI

sbt scalafmtCheckAll

Menggagalkan build jika file tidak diformat dengan benar.

Komit file `.scalafmt.conf` untuk menjaga tim, integrasi CI, dan editor Anda selaras pada gaya Scala yang sama.

Kasus Penggunaan Umum

Backend & Layanan FP

Jaga backend Scala besar dan basis kode FP tetap konsisten dan mudah ditinjau.

  • Standarisasi gaya di seluruh proyek Akka, ZIO, Cats Effect, atau Play.
  • Bersihkan kode sebelum membuka pull request atau berbagi contoh.
  • Normalisasi format setelah refaktor besar atau migrasi pustaka.
object A{def main(args:Array[String]){println("hi")}}
object A {
  def main(args: Array[String]): Unit = {
    println("hi")
  }
}

Pembelajaran & Pengajaran Scala

Fokus pada konsep dan tipe fungsional alih-alih perdebatan spasi.

  • Format otomatis kiriman siswa sebelum meninjau logika dan pola.
  • Tunjukkan contoh sebelum/sesudah pemformatan saat mengajar gaya Scala.
  • Siapkan cuplikan kode bersih untuk slide, dokumen, dan posting blog.

Skrip Build & Perkakas

Jaga file build `.sbt` dan skrip Scala kecil tetap rapi.

  • Format pengaturan sbt dan blok dependensi untuk pemeliharaan yang lebih mudah.
  • Bersihkan skrip bantu yang digunakan untuk migrasi atau alat internal.

❓ Frequently Asked Questions

❓Apa itu scalafmt dan bagaimana alat ini terkait dengannya?

Scalafmt adalah pemformat kode standar untuk Scala. Pemformat daring ini bertujuan mengikuti perilaku gaya scalafmt sehingga tata letak yang Anda lihat di sini mendekati hasil yang Anda dapatkan saat menjalankan scalafmt atau sbt-scalafmt di proyek Anda sendiri.

πŸ”§Bisakah saya menyesuaikan semua aturan scalafmt di sini?

Alat ini berfokus pada profil yang masuk akal dan berpendirian ketimbang mengekspos setiap pengaturan scalafmt. Untuk kendali penuh, buat file `.scalafmt.conf` di proyek Anda dan jalankan scalafmt melalui sbt atau IDE Anda.

🌐Apakah mendukung sintaks Scala 3?

Ya. Pemformat ini dirancang untuk menangani fitur modern Scala 3 seperti enum, given/using, metode ekstensi, dan lainnya, bersama dengan kode Scala 2 klasik.

πŸ”’Apakah kode Scala saya dikirim ke server publik?

Kode Anda dikirim melalui HTTPS ke backend pemformatan pribadi yang dikhususkan untuk alat ini dan tidak dibagikan atau diindeks. Untuk kode yang sangat rahasia atau proprietary, Anda dapat menjalankan scalafmt secara lokal sebagai gantinya.

βš™οΈApakah pemformatan akan mengubah cara program Scala saya berperilaku?

Pemformat dirancang hanya mengubah spasi dan tata letak, bukan semantik. Meski demikian, seperti halnya perubahan pemformatan besar apa pun, merupakan praktik baik untuk menjalankan rangkaian pengujian Anda setelahnya.

Pro Tips

Best Practice

Simpan file `.scalafmt.conf` di repo Anda agar editor, CI, dan `sbt scalafmt` semua menggunakan gaya yang sama.

Best Practice

Jalankan komitmen "hanya format" khusus sebelum refaktor sehingga diff selanjutnya fokus pada perubahan kode nyata, bukan spasi.

Best Practice

Gunakan lebar baris maksimum yang konsisten di seluruh tim Anda untuk menghindari diff yang berisik dan gaya yang bertentangan.

Best Practice

Saat mengajar, tunjukkan Scala yang berantakan terlebih dahulu, lalu versi yang diformat untuk menyoroti bagaimana tata letak meningkatkan keterbacaan.

Additional Resources

Other Tools