Generatore EditorConfig

.editorconfig
Risultati

Un .editorconfig nella radice del repository indica a ogni IDE moderno come questo progetto formatta i suoi file, chiudendo la questione tab vs spazi file per file. Python: 4 spazi. JavaScript: 2. Makefile: tab (richiesto). Questo generatore crea un .editorconfig dalle tue scelte di formattazione (stile e dimensione di indentazione, fine riga, charset, lunghezza massima della riga, nuova riga finale e rimozione degli spazi bianchi finali) e include sempre le due regolazioni comuni: [*.md] conserva gli spazi finali per le interruzioni di riga di Markdown, e [Makefile] usa i tab, come richiede make.

Come costruire un .editorconfig

  1. 1

    Imposta le impostazioni globali

    Charset (utf-8 di default), fine riga (lf vs crlf), stile e dimensione di indentazione, lunghezza massima della riga, nuova riga finale e rimozione degli spazi bianchi finali.

  2. 2

    Controlla le regolazioni integrate

    Il generatore aggiunge sempre `[*.md]` con `trim_trailing_whitespace = false` (Markdown richiede spazi finali per le interruzioni di riga) e `[Makefile]` con `indent_style = tab`, richiesto da make stesso.

  3. 3

    Copia il file

    Usa il pulsante di copia per prendere il `.editorconfig` generato e posizionalo nella radice del repository.

  4. 4

    Estendilo in seguito

    Ti servono regole per ogni linguaggio? Aggiungi sezioni personalizzate, ad esempio `[*.py]` con `indent_size = 4`.

Cosa fa .editorconfig

Un file chiamato .editorconfig nella radice di un progetto (o in qualsiasi directory) dichiara le convenzioni di formattazione. Gli editor con supporto EditorConfig (ogni IDE principale e la maggior parte degli editor di testo moderni) applicano queste regole all’apertura del file.

Esempio di output

Con le impostazioni predefinite (spazi, dimensione 4, LF, utf-8) il generatore produce:

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

Direttive chiave

Direttiva Valori accettati Note
root true / false Imposta true nella radice del progetto così la ricerca si ferma
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le utf-8 è il default
end_of_line lf, crlf, cr lf per cross-platform; crlf per repository solo Windows
indent_style space, tab
indent_size intero Numero di spazi, ignorato quando è tab
tab_width intero Larghezza visiva di un tab (dimensione di indentazione di default)
insert_final_newline true / false Garantisce file conformi a POSIX
trim_trailing_whitespace true / false Disattiva per Markdown (spazi finali significano interruzioni di riga)

Convenzioni linguistiche a colpo d’occhio

Linguaggio / file Convenzione
JS, TS, JSON 2 spazi
HTML, CSS, YAML 2 spazi
Python 4 spazi (PEP 8)
PHP 4 spazi (PSR-12)
Ruby 2 spazi
Go Tab (gofmt lo impone)
Rust 4 spazi (rustfmt lo impone)
Java 4 spazi
Makefile Tab (richiesto da make stesso)
Markdown Mantieni spazi bianchi finali (usato per <br>)
Batch/CMD (.bat) fine riga crlf

Attenzione: spazi bianchi finali in Markdown

In Markdown, due spazi bianchi finali alla fine di una riga significano “inserisci un <br> qui”. Se il tuo .editorconfig rimuove gli spazi bianchi finali per tutti i file, quelle interruzioni di riga scompaiono. Sovrascrivi con trim_trailing_whitespace = false per [*.md].

Il tuo IDE lo supporta?

Supporto nativo: VS Code, famiglia JetBrains IntelliJ, Sublime Text, Vim (tramite plugin), Emacs (tramite plugin), Atom, Notepad++, Xcode. Se un editor non supporta EditorConfig di default, di solito ha un plugin. Il file è anche leggibile dalla macchina, quindi i linters e i formattatori possono rispettarlo.

Domande frequenti

Nella radice del progetto con root = true. Puoi aggiungere file .editorconfig aggiuntivi nelle sottodirectory per sovrascrivere percorsi specifici; la ricerca risale l’albero e si ferma al primo file root = true che trova.

No. EditorConfig gestisce le basi degli spazi bianchi e delle interruzioni di riga in ogni editor. Prettier e i linters specifici per linguaggio gestiscono regole di stile più profonde (virgolette, punto e virgola, virgole finali). I due si completano a vicenda.

Imposta end_of_line = crlf se gli strumenti Windows nel repository lo richiedono effettivamente. Opzione migliore: commetti end_of_line = lf e aggiungi un .gitattributes con * text=auto così git normalizza le interruzioni di riga al momento del commit mentre i checkout sono appropriati per il sistema operativo.

No. Le tue scelte servono solo a generare il file; nulla viene memorizzato sui nostri server né conservato dopo che lasci la pagina.

Strumenti correlati

Strumento disponibile in altre lingue