Pemformat kode

Tempel kode dan kode itu tertata sendiri — bahasa dideteksi, tanpa tombol.

Cara menggunakan

  1. Tempel kode ke kotak — kode diformat saat Anda mengetik; tidak ada tombol yang perlu ditekan.
  2. Bahasanya dideteksi dari kodenya. Bila tebakannya salah, pilih satu dari daftar; 2 atau 4 spasi serta 80, 100, atau 120 kolom langsung diterapkan ulang.
  3. Salin hasilnya atau unduh dengan ekstensi yang tepat (.js, .ts, .json, .py …).

Contoh

Masukan

function greet(user){if(!user){return "Hello, guest";}const tags=["new","active"];return `Hello, ${user.name}!`;}
export default greet;

Terformat

function greet(user) {
  if (!user) {
    return "Hello, guest";
  }
  const tags = ["new", "active"];
  return `Hello, ${user.name}!`;
}
export default greet;

Diformat dengan aturan bawaan (2 spasi, 80 kolom). Prettier menambahkan titik koma dan kutip ganda; template literal dan cadangan untuk tamu tidak berubah.

Aturan, batasan, dan masalah yang diketahui

  • Pemformatan mengubah spasi dan normalisasi milik pemformat (kutip, titik koma, koma di akhir); pemformatan tidak pernah menjalankan kode, mengurutkan kunci, atau mengganti nama pengenal. Isi string tetap.
  • Mesin: Prettier untuk JavaScript, TypeScript, JSON, CSS, SCSS, Less, HTML, Vue, dan GraphQL; Ruff (kompatibel Black) untuk Python. Hanya mesin untuk bahasa saat ini yang diunduh, pada pemakaian pertama, dan peramban menyimpannya di cache.
  • Deteksi otomatis bersifat heuristik. Potongan yang dimulai dengan tag bisa terbaca sebagai HTML meskipun itu JSX; pilih JavaScript atau TypeScript secara manual. Objek yang mirip JSON tetapi bukan JSON valid dialihkan ke JavaScript.
  • Pilihan manual bersifat otoritatif: memilih CSS tidak pernah diam-diam memformat sebagai SCSS. TypeScript mencoba .ts lalu .tsx.
  • JSON memakai parser json Prettier, sehingga objek pendek bisa tetap satu baris. Untuk validasi ketat, urutan kunci, atau minifikasi, gunakan kotak alat JSON. Kunci duplikat menyimpan nilai terakhir, seperti JSON.parse.
  • Gaya bawaan Prettier bersifat tetap: kutip ganda, titik koma, koma di akhir bila valid. .prettierrc dan .editorconfig tidak dibaca dan tidak ada opsi kutip atau titik koma. Python memakai kutip ganda dan menghormati magic trailing comma (Ruff/Black).
  • Spasi HTML mengikuti htmlWhitespaceSensitivity: css, sehingga spasi di sekitar elemen inline bisa berbeda dari sumbernya. Markdown, YAML, dan XML tidak didukung; editor Markdown, konverter konfigurasi, dan pemformat XML menanganinya.
  • Keluaran memakai LF tanpa baris baru di akhir, dan pemformatannya idempoten. Di atas 200.000 karakter, hasil diperbarui sekitar 0,6 dtk setelah Anda berhenti mengetik; pemformatan berjalan di Web Worker dan teksnya tidak pernah diunggah, dimasukkan ke URL, atau disimpan.

Yang biasanya dibutuhkan berikutnya setelah kodenya mudah dibaca.