EditorConfig-generator

.editorconfig
Resultat

En .editorconfig i repots rot talar om för varje modern IDE hur det här projektet formaterar sina filer och avgör diskussionen om tabbar kontra mellanslag fil för fil. Python: 4 mellanslag. JavaScript: 2. Makefile: tabbar (krav). Den här generatorn bygger en .editorconfig utifrån dina formateringsinställningar (indragsstil och -storlek, radslut, teckenuppsättning, maximal radlängd, avslutande radbrytning och trimning av efterföljande blanksteg) och lägger alltid till de två vanliga justeringarna: [*.md] behåller efterföljande blanksteg för radbrytningar i Markdown, och [Makefile] använder tabbar, som make kräver.

Så bygger du en .editorconfig

  1. 1

    Ställ in globala standardvärden

    Teckenuppsättning (utf-8 som standard), radslut (lf kontra crlf), indragsstil och -storlek, maximal radlängd, infoga avslutande radbrytning, trimma efterföljande blanksteg.

  2. 2

    Kontrollera de inbyggda justeringarna

    Generatorn lägger alltid till `[*.md]` med `trim_trailing_whitespace = false` (Markdown behöver efterföljande mellanslag för radbrytningar) och `[Makefile]` med `indent_style = tab`, som make självt kräver.

  3. 3

    Kopiera filen

    Använd kopiera-knappen för att hämta den genererade `.editorconfig` och lägg den i repots rot.

  4. 4

    Utöka senare

    Behöver du regler per språk? Lägg till egna sektioner, till exempel `[*.py]` med `indent_size = 4`.

Vad .editorconfig gör

En fil med namnet .editorconfig i roten av ett projekt (eller i valfri katalog) deklarerar formateringskonventioner. Editorer med EditorConfig-stöd (varje större IDE och de flesta moderna textredigerare) tillämpar dessa regler när en fil öppnas.

Exempel på utdata

Med standardinställningarna (mellanslag, storlek 4, LF, utf-8) genererar verktyget:

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

Viktiga direktiv

Direktiv Tillåtna värden Anmärkningar
root true / false Sätt true i projektroten så att sökningen stannar
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le utf-8 är standard
end_of_line lf, crlf, cr lf för plattformsoberoende; crlf för repon enbart för Windows
indent_style space, tab
indent_size heltal Antal mellanslag, ignoreras vid tab
tab_width heltal Visuell bredd på en tab (standard indent_size)
insert_final_newline true / false Säkerställer POSIX-kompatibla filer
trim_trailing_whitespace true / false Stäng av för Markdown (efterföljande mellanslag betyder radbrytningar)

Språkkonventioner i korthet

Språk / fil Konvention
JS, TS, JSON 2 mellanslag
HTML, CSS, YAML 2 mellanslag
Python 4 mellanslag (PEP 8)
PHP 4 mellanslag (PSR-12)
Ruby 2 mellanslag
Go Tabbar (gofmt framtvingar)
Rust 4 mellanslag (rustfmt framtvingar)
Java 4 mellanslag
Makefile Tabbar (krävs av make självt)
Markdown Behåll efterföljande blanksteg (används för <br>)
Batch/CMD (.bat) crlf-radslut

Fälla: efterföljande blanksteg i Markdown

I Markdown betyder två efterföljande mellanslag i slutet av en rad “infoga en <br> här”. Om din .editorconfig trimmar efterföljande blanksteg för alla filer försvinner de radbrytningarna. Åsidosätt med trim_trailing_whitespace = false för [*.md].

Stöder din IDE det?

Inbyggt stöd: VS Code, JetBrains IntelliJ-familjen, Sublime Text, Vim (via plugin), Emacs (via plugin), Atom, Notepad++, Xcode. Om en editor inte stöder EditorConfig direkt finns det oftast ett plugin. Filen är också maskinläsbar så att linters och formaterare kan respektera den.

Vanliga frågor

I projektroten med root = true. Du kan lägga till ytterligare .editorconfig-filer i underkataloger för att åsidosätta specifika sökvägar; sökningen går uppåt i trädet och stannar vid första filen med root = true den hittar.

Nej. EditorConfig hanterar grunderna för blanksteg och radslut i varje editor. Prettier och språkspecifika linters hanterar djupare stilregler (citattecken, semikolon, avslutande kommatecken). De två kompletterar varandra.

Sätt end_of_line = crlf om Windows-verktyg i repot faktiskt kräver det. Bättre alternativ: committa end_of_line = lf och lägg till en .gitattributes med * text=auto så att git normaliserar radslut vid commit medan utcheckningar blir OS-anpassade.

Nej. Dina val används bara för att skapa filen; inget lagras på våra servrar och inget behålls efter att du lämnar sidan.

Relaterade verktyg

Verktyget finns på andra språk