Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator .editorconfig

Ustal wspólne reguły wcięć, kodowania i końca linii dla całego repozytorium.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Ustaw reguły i kliknij „Generuj .editorconfig”.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator .editorconfig — jedne reguły wcięć dla całego zespołu

Generator .editorconfig składa gotowy plik konfiguracyjny z siedmiu decyzji: spacje czy tabulatory, szerokość wcięcia, kodowanie, znak końca linii, pusty wiersz na końcu pliku, obcinanie białych znaków i wyjątek dla Markdown. Wynik kopiujesz do katalogu głównego repozytorium i od tej pory edytory całego zespołu formatują kod tak samo, niezależnie od prywatnych ustawień.

Czym jest .editorconfig i dlaczego działa

.editorconfig to plik tekstowy w formacie INI, który opisuje reguły formatowania per wzorzec nazwy pliku. Nie jest narzędziem uruchamianym w terminalu ani zależnością projektu — to konfiguracja, którą czyta sam edytor. Ponieważ plik jest wersjonowany razem z kodem, nowa osoba w projekcie dostaje właściwe wcięcia po pierwszym git clone. Ważny jest wpis root = true na początku: bez niego edytor szuka dalej w katalogach nadrzędnych i może dociągnąć reguły z innego projektu. Generator zawsze dopisuje ten wiersz.

Które reguły ustawia generator

WłaściwośćWartościCo zmienia
indent_stylespace, tabSpacje albo znak tabulacji
indent_size1–12Liczba spacji w jednym wcięciu
tab_width1–12Szerokość tabulatora
charsetutf-8, utf-8-bom, latin1Kodowanie zapisu pliku
end_of_linelf, crlf, crZnak kończący wiersz
insert_final_newlinetrue, falsePusty wiersz na końcu pliku
trim_trailing_whitespacetrue, falseObcinanie spacji na końcu wiersza

Jak zbudować plik krok po kroku

  1. Wybierz kafelek Spacje albo Tabulatory. Przy tabulatorach generator zapisuje tab_width, bo szerokość tabulatora to kwestia wyświetlania, a nie liczby znaków.
  2. Podaj rozmiar wcięcia z zakresu od 1 do 12. Wartość poza zakresem zatrzymuje generowanie i pokazuje komunikat, zamiast po cichu podstawić coś innego.
  3. Ustaw kodowanie i znak końca linii. Domyślne utf-8 i lf to bezpieczny wybór dla projektów budowanych na Linuksie.
  4. Zdecyduj o pustym wierszu na końcu pliku i o obcinaniu białych znaków. Oba przełączniki zapisują wprost true lub false.
  5. Kliknij Generuj .editorconfig, skopiuj wynik i zapisz jako .editorconfig w katalogu głównym repozytorium.

Na starcie repozytorium warto dołożyć obok niego listę ignorowanych ścieżek z generatora .gitignore, a przy projektach na Apache konfigurację z generatora pliku .htaccess.

Węższe wcięcia dla plików frontendowych

Gdy wybierzesz spacje i rozmiar większy niż dwa, generator dopisuje sekcję dla plików js, jsx, ts, tsx, css, scss, json, yml, yaml i html z wcięciem dwóch spacji. Taka konwencja obowiązuje w ekosystemie JavaScriptu i w plikach danych o głębokich zagnieżdżeniach. Przy wcięciu jednej lub dwóch spacji sekcja nie powstaje, bo byłaby kopią reguły globalnej.

Pliki .php, .py, .go i .rs świadomie nie trafiają do tej listy: PSR-12, PEP 8 i rustfmt wymagają czterech spacji, a gofmt tabulatorów. Dziedziczą regułę z sekcji [*]. Jeden wyjątek generator narzuca zawsze: przy globalnych tabulatorach dla .yml i .yaml powstaje osobna sekcja ze spacjami, bo specyfikacja YAML zabrania tabulatorów jako wcięcia. Plik z tabulacjami nie sparsuje się — sprawdzisz to walidatorem YAML.

Koniec linii, Git i fałszywe zmiany w diffach

Windows kończy wiersz parą CR i LF, systemy uniksowe pojedynczym LF. Bez wspólnej reguły Git pokazuje cały plik jako zmieniony, choć nikt nie tknął logiki. Ustawienie end_of_line = lf rozwiązuje problem po stronie edytora, a uzupełnia je plik .gitattributes z wpisem * text=auto eol=lf, który normalizuje zawartość już w repozytorium. Jeżeli diff nadal wygląda podejrzanie, sprawdź go narzędziem do porównywania różnic w kodzie, a wcięcia w HTML lub CSS uporządkuj upiększaczem kodu JS, CSS i HTML.

Dlaczego Markdown wymaga wyjątku

W Markdownie dwie spacje na końcu wiersza oznaczają wymuszone złamanie linii. Edytor z włączonym trim_trailing_whitespace usuwa je przy każdym zapisie i cicho psuje formatowanie dokumentacji. Dlatego generator dopisuje sekcję wyłączającą tę regułę dla plików .md i .markdown:

[*.{md,markdown}]
trim_trailing_whitespace = false

Sekcja pojawia się tylko wtedy, gdy globalnie obcinasz białe znaki — inaczej byłaby wpisem bez efektu.

Najczęściej zadawane pytania

Czym .editorconfig różni się od Prettiera lub PHP CS Fixera?

EditorConfig działa w chwili pisania i zapisu pliku, ustawiając kilka właściwości edytora. Formatery takie jak Prettier, PHP CS Fixer czy Black przebudowują cały kod według własnych reguł i uruchamiasz je w terminalu albo w hooku. Nie wykluczają się: Prettier sam czyta .editorconfig i bierze z niego wcięcia oraz koniec linii, jeśli nie nadpisałeś ich we własnej konfiguracji.

Czy plik działa w każdym edytorze?

VS Code, IDE JetBrains i Visual Studio czytają go bez dodatków. Vim, Emacs, Sublime Text i Notepad++ wymagają wtyczki. Edytor, który nie rozumie pliku, po prostu go ignoruje — nic się nie psuje.

Mogę mieć kilka plików .editorconfig w jednym projekcie?

Tak. Edytor idzie od katalogu edytowanego pliku w górę drzewa i scala reguły, dopóki nie natrafi na plik z root = true. Reguły z katalogów bliższych plikowi mają pierwszeństwo. W monorepo pakiet frontendowy może więc trzymać dwie spacje, a usługa w Pythonie cztery.

Co robi utf-8-bom i kiedy go wybrać?

utf-8-bom zapisuje na początku pliku znacznik kolejności bajtów. Potrzebują go tylko starsze narzędzia z ekosystemu Windows, na przykład część skryptów PowerShell 5. W plikach PHP znacznik jest szkodliwy, bo trafia do odpowiedzi HTTP przed nagłówkami — bez konkretnego powodu zostaw utf-8.

Czy .editorconfig poprawi pliki, które już są w repozytorium?

Nie od razu. Reguły działają na plik w chwili edycji i zapisu, więc istniejący kod zmienia się stopniowo. Przeformatowanie całego projektu zrób osobnym formaterem i osobnym commitem, wpisanym potem do .git-blame-ignore-revs, żeby historia pozostała czytelna.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!