EditorConfig Oluşturucu

.editorconfig
Sonuçlar

Deponun kök dizinindeki bir .editorconfig, bu projenin dosyalarını nasıl biçimlendirdiğini her modern IDE’ye bildirir ve tab mı boşluk mu tartışmasını dosya dosya çözer. Python: 4 boşluk. JavaScript: 2. Makefile: tab (zorunlu). Bu oluşturucu, biçimlendirme ayarlarınızdan (girinti stili ve boyutu, satır sonu, karakter kümesi, maksimum satır uzunluğu, son satır sonu ve satır sonundaki boşlukları kırpma) bir .editorconfig hazırlar ve her zaman iki yaygın ayarı içerir: [*.md], Markdown satır sonları için satır sonundaki boşlukları korur, [Makefile] ise make’in zorunlu kıldığı tab kullanır.

Bir .editorconfig nasıl oluşturulur

  1. 1

    Genel varsayılanları ayarlayın

    Karakter kümesi (varsayılan utf-8), satır sonu (lf veya crlf), girinti stili ve boyutu, maksimum satır uzunluğu, son satır sonunu ekleme ve satır sonundaki boşlukları kırpma.

  2. 2

    Yerleşik ayarları inceleyin

    Oluşturucu her zaman `[*.md]` için `trim_trailing_whitespace = false` (Markdown satır sonları için sondaki boşluklara ihtiyaç duyar) ve `[Makefile]` için make'in kendisinin gerektirdiği `indent_style = tab` ekler.

  3. 3

    Dosyayı kopyalayın

    Kopyalama düğmesiyle oluşturulan `.editorconfig` dosyasını alın ve deponun kök dizinine yerleştirin.

  4. 4

    Sonradan genişletin

    Dile özel kurallar mı gerekiyor? Örneğin `[*.py]` için `indent_size = 4` gibi kendi bölümlerinizi ekleyin.

.editorconfig ne işe yarar?

Bir projenin kök dizininde (veya herhangi bir dizinde) bulunan .editorconfig adlı dosya, biçimlendirme kurallarını bildirir. EditorConfig destekli editörler (her büyük IDE ve çoğu modern metin editörü) dosyayı açtığınızda bu kuralları uygular.

Örnek çıktı

Varsayılan ayarlarla (boşluk, boyut 4, LF, utf-8) oluşturucu şunları üretir:

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

Temel direktifler

Direktif Kabul edilen değerler Notlar
root true / false Proje kökünde true yapın ki arama burada dursun
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le Varsayılan utf-8
end_of_line lf, crlf, cr Platformlar arası için lf; yalnızca Windows depoları için crlf
indent_style space, tab
indent_size tam sayı Boşluk sayısı; tab kullanıldığında yok sayılır
tab_width tam sayı Tabın görsel genişliği (varsayılan olarak indent_size ile aynı)
insert_final_newline true / false POSIX uyumlu dosyalar sağlar
trim_trailing_whitespace true / false Markdown için kapatın (satır sonundaki boşluklar satır sonu anlamına gelir)

Bir bakışta dil kuralları

Dil / dosya Kural
JS, TS, JSON 2 boşluk
HTML, CSS, YAML 2 boşluk
Python 4 boşluk (PEP 8)
PHP 4 boşluk (PSR-12)
Ruby 2 boşluk
Go Tab (gofmt zorunlu kılar)
Rust 4 boşluk (rustfmt zorunlu kılar)
Java 4 boşluk
Makefile Tab (make’in kendisi gerektirir)
Markdown Satır sonundaki boşlukları koruyun (<br> için kullanılır)
Batch / CMD (.bat) crlf satır sonları

Tuzak: Markdown’da satır sonundaki boşluklar

Markdown’da bir satırın sonundaki iki boşluk “buraya bir <br> ekle” anlamına gelir. .editorconfig tüm dosyalarda satır sonundaki boşlukları kırparsa bu satır sonları kaybolur. [*.md] için trim_trailing_whitespace = false ile geçersiz kılın.

IDE’niz bunu destekliyor mu?

Yerleşik destek: VS Code, JetBrains IntelliJ ailesi, Sublime Text, Vim (eklenti ile), Emacs (eklenti ile), Atom, Notepad++, Xcode. Bir editör EditorConfig’i doğrudan desteklemese bile genellikle bir eklentisi vardır. Dosya ayrıca makine tarafından okunabilir olduğundan linter ve biçimlendiriciler de onu dikkate alabilir.

Sık Sorulan Sorular

Proje köküne root = true ile koyun. Belirli yolları geçersiz kılmak için alt dizinlere ek .editorconfig dosyaları ekleyebilirsiniz; arama ağaçta yukarı doğru ilerler ve bulduğu ilk root = true dosyasında durur.

Hayır. EditorConfig, her editörde boşluk ve satır sonu gibi temel konuları ele alır. Prettier ve dile özgü linterlar ise daha derin stil kurallarını (tırnak işaretleri, noktalı virgüller, sondaki virgüller) ele alır. İkisi birbirini tamamlar.

Depodaki Windows araçları gerçekten gerektiriyorsa end_of_line = crlf ayarlayın. Daha iyi seçenek: end_of_line = lf commit’leyin ve .gitattributes dosyasına * text=auto ekleyin; böylece Git commit sırasında satır sonlarını normalleştirir, checkout ise işletim sistemine uygun olur.

Hayır. Seçimleriniz yalnızca dosyayı oluşturmak için kullanılır; sunucularımızda hiçbir şey saklanmaz ve sayfadan ayrıldıktan sonra hiçbir şey tutulmaz.

İlgili Araçlar

Araç diğer dillerde mevcuttur