Generator EditorConfig

.editorconfig
Hasil

File .editorconfig di akar repositori memberi tahu setiap IDE modern bagaimana proyek ini memformat berkasnya, sekaligus mengakhiri perdebatan tab vs spasi untuk tiap file. Python: 4 spasi. JavaScript: 2. Makefile: tab (wajib). Generator ini membuat file .editorconfig dari pilihan format Anda (gaya dan ukuran indentasi, akhir baris, charset, panjang baris maksimum, baris baru akhir, dan penghapusan spasi di ujung baris) serta selalu menyertakan dua penyesuaian umum: [*.md] mempertahankan spasi di akhir baris untuk pemisah baris Markdown, dan [Makefile] menggunakan tab sesuai keharusan make.

Cara Membuat File .editorconfig

  1. 1

    Atur nilai default global

    Charset (bawaan utf-8), akhir baris (lf vs crlf), gaya dan ukuran indentasi, panjang baris maksimum, penambahan baris baru akhir, dan penghapusan spasi di ujung baris.

  2. 2

    Periksa penyesuaian bawaan

    Generator selalu menambahkan `[*.md]` dengan `trim_trailing_whitespace = false` (Markdown membutuhkan spasi di akhir baris untuk pemisah baris) dan `[Makefile]` dengan `indent_style = tab` yang diwajibkan oleh make itu sendiri.

  3. 3

    Salin file

    Gunakan tombol salin untuk mengambil `.editorconfig` yang dihasilkan, lalu letakkan di akar repositori.

  4. 4

    Kembangkan nanti

    Butuh aturan per bahasa? Tambahkan bagian Anda sendiri, misalnya `[*.py]` dengan `indent_size = 4`.

Apa yang dilakukan oleh file .editorconfig

File bernama .editorconfig yang berada di akar proyek (atau dalam direktori apa pun) menetapkan konvensi formatasi. Editor yang mendukung fitur EditorConfig (semua IDE utama dan sebagian besar editor teks modern) akan menerapkan aturan tersebut saat file dibuka.

Contoh hasil output

Dengan pengaturan bawaan (spasi, ukuran 4, LF, utf-8) generator menghasilkan:

root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

Direktif Utama

Direktif Nilai yang Diterima Catatan
root true / false Tetapkan nilai true di direktori akar proyek agar pencarian berhenti
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le utf-8 merupakan nilai default
end_of_line lf, crlf, cr lf untuk versi lintas platform; crlf untuk repositori yang hanya tersedia di Windows
indent_style space, tab
indent_size bilangan bulat Jumlah spasi; diabaikan saat menggunakan tab
tab_width bilangan bulat Lebar visual tab (nilai default: indent_size)
insert_final_newline true / false Memastikan file sesuai standar POSIX
trim_trailing_whitespace true / false Matikan untuk Markdown (spasi di akhir baris berarti pemisahan baris)

Konvensi bahasa dalam satu pandangan

Bahasa / Berkas Konvensi
JS, TS, JSON 2 spasi
HTML, CSS, YAML 2 spasi
Python 4 spasi (PEP 8)
PHP 4 spasi (PSR-12)
Ruby 2 spasi
Go Tab (dipaksakan oleh gofmt)
Rust 4 spasi (diwajibkan oleh rustfmt)
Java 4 spasi
Makefile Tab (wajib oleh make itu sendiri)
Markdown Pertahankan spasi di akhir baris (digunakan untuk <br>)
Batch/CMD (.bat) akhir baris crlf

Perangkap: Spasi di akhir baris dalam Markdown

Dalam Markdown, dua ruang di akhir baris berarti “masukkan <br> di sini”. Jika fitur .editorconfig menghilangkan ruang kosong di akhir semua file, baris pemisah tersebut akan menghilang. Ganti dengan trim_trailing_whitespace = false untuk [*.md].

Apakah IDE Anda mendukung fitur ini?

Dukungan native: VS Code, keluarga JetBrains/IntelliJ, Sublime Text, Vim (melalui plugin), Emacs (melalui plugin), Atom, Notepad++, dan Xcode. Jika suatu editor tidak mendukung EditorConfig secara bawaan, biasanya tersedia plugin untuk mendukungnya. File ini juga dapat dibaca oleh mesin, sehingga alat linters dan pemformat dapat menggunakannya dengan benar.

Pertanyaan yang Sering Diajukan

Di akar proyek dengan kode root = true, Anda dapat menambahkan berkas-berkas .editorconfig di subdirektori untuk menggantikan jalur tertentu; proses pencarian akan dilakukan secara berjenjang dari akar hingga berhenti pada berkas root = true pertama yang ditemukan.

Tidak. EditorConfig menangani aspek dasar terkait ruang kosong dan akhir baris di semua editor. Prettier dan linter khusus untuk setiap bahasa pemrograman menangani aturan gaya yang lebih mendalam (kutipan, titik koma, koma akhir baris). Kedua fitur tersebut saling melengkapi.

Atur nilai end_of_line = crlf jika alat Windows dalam repositori memang memerlukannya. Opsi yang lebih baik adalah mengkomit end_of_line = lf, lalu menambahkan .gitattributes dan * text=auto; dengan demikian Git akan menormalisasi akhir baris saat komit, sementara hasil checkout tetap sesuai dengan sistem operasi yang digunakan.

Tidak. Pilihan Anda hanya digunakan untuk membuat file; tidak ada yang disimpan di server kami atau dipertahankan setelah Anda meninggalkan halaman.

Alat Terkait

Alat ini tersedia dalam bahasa lain