EditorConfig-generator

.editorconfig
Resultaten

Een .editorconfig in de hoofdmap van de repository vertelt elke moderne IDE hoe dit project zijn bestanden opmaakt en beslecht de discussie tabs versus spaties per bestand. Python: 4 spaties. JavaScript: 2. Makefile: tabs (verplicht). Deze generator bouwt een .editorconfig op basis van uw opmaakinstellingen (inspringstijl en -grootte, regeleinde, tekenset, maximale regellengte, afsluitende nieuwe regel en spaties aan het regeleinde verwijderen) en voegt altijd de twee gangbare aanpassingen toe: [*.md] behoudt spaties aan het regeleinde voor regeleinden in Markdown, en [Makefile] gebruikt tabs, zoals make vereist.

Een .editorconfig maken

  1. 1

    Stel de globale standaardwaarden in

    Tekenset (standaard utf-8), regeleinde (lf of crlf), inspringstijl en -grootte, maximale regellengte, een afsluitende nieuwe regel invoegen en spaties aan het regeleinde verwijderen.

  2. 2

    Controleer de ingebouwde aanpassingen

    De generator voegt altijd `[*.md]` toe met `trim_trailing_whitespace = false` (Markdown heeft spaties aan het regeleinde nodig voor regeleinden) en `[Makefile]` met `indent_style = tab`, zoals make zelf vereist.

  3. 3

    Kopieer het bestand

    Gebruik de kopieerknop om de gegenereerde `.editorconfig` op te halen en plaats het bestand in de hoofdmap van de repository.

  4. 4

    Breid later uit

    Regels per taal nodig? Voeg uw eigen secties toe, bijvoorbeeld `[*.py]` met `indent_size = 4`.

Wat doet .editorconfig?

Een bestand met de naam .editorconfig in de hoofdmap van een project (of in een willekeurige map) legt opmaakconventies vast. Editors met EditorConfig-ondersteuning (elke grote IDE en de meeste moderne teksteditors) passen die regels toe bij het openen van een bestand.

Voorbeelduitvoer

Met de standaardinstellingen (spaties, grootte 4, LF, utf-8) genereert de tool:

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

Belangrijkste richtlijnen

Richtlijn Toegestane waarden Opmerkingen
root true / false Zet op true in de hoofdmap van het project zodat de zoektocht stopt
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le utf-8 is de standaard
end_of_line lf, crlf, cr lf voor cross-platform; crlf voor repository’s die alleen voor Windows zijn
indent_style space, tab
indent_size geheel getal Aantal spaties; wordt genegeerd bij tab
tab_width geheel getal Visuele breedte van een tab (standaard gelijk aan indent_size)
insert_final_newline true / false Zorgt voor POSIX-conforme bestanden
trim_trailing_whitespace true / false Uitzetten voor Markdown (spaties aan het regeleinde betekenen regeleinden)

Taalconventies in één oogopslag

Taal / bestand Conventie
JS, TS, JSON 2 spaties
HTML, CSS, YAML 2 spaties
Python 4 spaties (PEP 8)
PHP 4 spaties (PSR-12)
Ruby 2 spaties
Go Tabs (afgedwongen door gofmt)
Rust 4 spaties (afgedwongen door rustfmt)
Java 4 spaties
Makefile Tabs (vereist door make zelf)
Markdown Spaties aan het regeleinde behouden (gebruikt voor <br>)
Batch / CMD (.bat) crlf-regeleinden

Valkuil: spaties aan het regeleinde in Markdown

In Markdown betekenen twee spaties aan het einde van een regel “voeg hier een <br> in”. Als je .editorconfig bij alle bestanden de spaties aan het regeleinde verwijdert, verdwijnen die regeleinden. Overschrijf dit met trim_trailing_whitespace = false voor [*.md].

Ondersteunt jouw IDE dit?

Native ondersteuning: VS Code, de IntelliJ-familie van JetBrains, Sublime Text, Vim (via plug-in), Emacs (via plug-in), Atom, Notepad++, Xcode. Als een editor EditorConfig niet standaard ondersteunt, is er meestal een plug-in. Het bestand is bovendien machineleesbaar, zodat linters en formatters het kunnen naleven.

Veelgestelde vragen

In de hoofdmap van het project met root = true. Je kunt extra .editorconfig-bestanden in submappen zetten om specifieke paden te overschrijven; de zoektocht loopt omhoog door de boomstructuur en stopt bij het eerste bestand met root = true.

Nee. EditorConfig regelt de basis rond witruimte en regeleinden in elke editor. Prettier en taalspecifieke linters regelen diepere stijlregels (aanhalingstekens, puntkomma’s, afsluitende komma’s). Ze vullen elkaar aan.

Zet end_of_line = crlf als Windows-tooling in de repository dat echt vereist. Betere optie: commit end_of_line = lf en voeg een .gitattributes toe met * text=auto, zodat Git de regeleinden bij het committen normaliseert terwijl checkouts passen bij het besturingssysteem.

Nee. Uw keuzes worden alleen gebruikt om het bestand te maken; er wordt niets opgeslagen op onze servers en niets bewaard nadat u de pagina verlaat.

Gerelateerde tools

Tool beschikbaar in andere talen