Generator .prettierrc
Spójne formatowanie kodu w projekcie
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator konfiguracji Prettier
Prettier automatycznie formatuje kod, kończąc spory o styl. Konfiguracja w pliku .prettierrc lub sekcji prettier w package.json ujednolica projekt.
Najważniejsze opcje
| Opcja | Znaczenie |
|---|---|
| semi | średniki na końcu instrukcji |
| singleQuote | pojedyncze cudzysłowy zamiast podwójnych |
| tabWidth | liczba spacji wcięcia |
| printWidth | docelowa szerokość wiersza |
| trailingComma | przecinki po ostatnim elemencie |
| arrowParens | nawiasy wokół parametru funkcji strzałkowej |
Jak używać?
Zapisz zawartość jako .prettierrc w katalogu głównym projektu. Uruchamiaj npx prettier --write ., a w edytorze włącz formatowanie przy zapisie.
Prettier i ESLint
Aby narzędzia się nie kłóciły, do konfiguracji ESLint dodaj eslint-config-prettier — wyłącza on reguły ESLint dotyczące formatowania.
Jak działa generator .prettierrc
Generator działa jak konwerter wyborów z formularza na obiekt konfiguracji. Każda opcja, którą zaznaczysz lub wpiszesz, jest najpierw sprawdzana pod kątem typu: przełączniki zamieniają się na wartości logiczne true albo false, pola liczbowe na liczby całkowite, a listy rozwijane na dopuszczalne wartości tekstowe. Z tych par klucz-wartość powstaje jeden obiekt, który następnie jest serializowany do formatu JSON. Kolejność kluczy nie ma znaczenia dla Prettiera, ale generator może ustawić ją w stałej kolejności, aby plik był czytelny dla człowieka.
Narzędzie nie ma wbudowanych tablic stałych ani nie narzuca wartości domyślnych. To znaczy, że wynik zależy wyłącznie od danych wprowadzonych w formularzu. Jeśli nie wybierzesz żadnej opcji, otrzymasz pusty obiekt, który dla Prettiera oznacza użycie ustawień domyślnych. Jeśli wybierzesz kilka opcji, w pliku pojawią się tylko te klucze, które faktycznie zaznaczysz lub uzupełnisz.
Gotowy plik .prettierrc jest tylko deklaracją. Prettier odczytuje go przy uruchomieniu, łączy z ustawieniami edytora i najbliższą konfiguracją nadrzędną, a następnie stosuje wybrane reguły podczas formatowania. Generator nie uruchamia Prettiera ani nie sprawdza, czy kod po sformatowaniu będzie zgodny z ESLint. Tworzy wyłącznie warstwę konfiguracyjną, którą możesz wersjonować razem z projektem.
Przykład krok po kroku
- Otwierasz generator i ustawiasz w formularzu sześć opcji: semi na true, singleQuote na true, tabWidth na 2, printWidth na 80, trailingComma na all oraz arrowParens na always. Wartości 2 i 80 są przykładowymi decyzjami użytkownika, a nie stałymi wbudowanymi w narzędzie.
- Generator mapuje przełączniki semi i singleQuote na wartości logiczne true. Pozostałe pola pozostają liczbami albo tekstami zgodnymi z typem opcji.
- Narzędzie buduje jeden obiekt JSON z sześcioma parami klucz-wartość. Nie dodaje komentarzy, ponieważ standard JSON ich nie przewiduje.
- Wynikowy plik wygląda tak: {"semi": true, "singleQuote": true, "tabWidth": 2, "printWidth": 80, "trailingComma": "all", "arrowParens": "always"}. Łącznie to 6 par klucz-wartość w 1 obiekcie.
- Zapisujesz zawartość jako .prettierrc w katalogu głównym projektu. Od tego momentu Prettier będzie szukał tego pliku podczas formatowania plików w projekcie.
- Uruchamiasz formatowanie, na przykład przez npx prettier --write ., i sprawdzasz, czy edytor oraz CI używają tej samej wersji Prettiera. Sam plik nie zmienia kodu, dopóki Prettier nie zostanie wywołany.
Tabela referencyjna opcji
| Opcja | Typ wartości | Wpływ na konfigurację |
|---|---|---|
| semi | boolean | true dodaje średniki na końcu instrukcji, false je usuwa. |
| singleQuote | boolean | true wybiera pojedyncze cudzysłowy, false pozostawia podwójne. |
| tabWidth | liczba całkowita | Określa liczbę spacji przypadającą na jeden poziom wcięcia. |
| printWidth | liczba całkowita | Podpowiada Prettierowi docelową szerokość wiersza, po której kod może być łamany. |
| trailingComma | tekst: none, es5, all | Decyduje, czy po ostatnim elemencie listy, obiektu lub parametrów pojawi się przecinek. |
| arrowParens | tekst: always, avoid | always wymusza nawiasy wokół parametru funkcji strzałkowej, avoid stara się ich unikać, gdy to możliwe. |
Praktyczne wskazówki użycia
- Wersjonuj plik w repozytorium — dzięki temu każdy członek zespołu i serwer CI korzystają z tych samych reguł formatowania.
- Wybierz jeden nośnik konfiguracji — .prettierrc, .prettierrc.json albo sekcję prettier w package.json. Trzymanie kilku konkurencyjnych plików utrudnia ustalenie, która konfiguracja faktycznie działa.
- Dodaj skrypt sprawdzający w CI — uruchamiaj Prettier w trybie kontroli, aby wykrywać pliki niezgodne z konfiguracją bez automatycznego przepisywania całego kodu.
- Uzupełnij .prettierignore — pomiń katalogi generowane, zależności, build oraz pliki minifikowane, które nie powinny być formatowane.
- Ustal wersję Prettiera w projekcie — konfiguracja bez przypiętej wersji narzędzia może dawać inne wyniki po aktualizacji zależności.
Ograniczenia i czynniki zaburzające wynik
- Nie zastępuje lintera — generator tworzy wyłącznie konfigurację formatowania. Nie wykrywa błędów logicznych, nie ustawia reguł jakościowych i nie naprawia kodu.
- Nie rozstrzyga konfliktów konfiguracji — jeśli w projekcie istnieje kilka plików Prettiera albo ustawienia edytora nadpisują plik projektu, wynik może się różnić od oczekiwanego.
- Nie waliduje semantyki kodu — Prettier zmienia układ, ale nie analizuje, czy kod jest poprawny składniowo w danym środowisku. Błędy składni mogą zatrzymać formatowanie.
- Nie gwarantuje niezmienności między wersjami — nowsze wersje Prettiera mogą inaczej formatować niektóre konstrukcje, nawet przy tej samej konfiguracji. Dlatego warto przypinać wersję narzędzia.
Najczęstsze pytania
Czy konfiguracja nadpisuje ustawienia edytora?
Nie — to plik projektu. Edytor stosuje go, gdy znajdzie go w katalogu roboczym, co zapewnia spójność w zespole.
Co wybrać: es5 czy all w trailingComma?
all działa w nowszych środowiskach (ES2017+, TypeScript). es5 jest bezpieczniejsze dla starszego kodu.
Czy Prettier zmienia logikę kodu?
Nie — formatuje wyłącznie układ. Nie naprawia błędów ani nie zmienia działania programu.
Czy generator .prettierrc obsługuje TypeScript?
Tak, Prettier formatuje również pliki TypeScript. Sama konfiguracja nie wybiera parsera za Ciebie, bo Prettier rozpoznaje go na podstawie rozszerzenia pliku i kontekstu projektu.
Czy plik .prettierrc może być pusty?
Tak. Pusty obiekt {} oznacza, że Prettier użyje swoich ustawień domyślnych. Generator może zwrócić pustą konfigurację, jeśli nie zaznaczysz żadnej opcji.
Jaki format wybrać: JSON, YAML czy package.json?
JSON jest najprostszy i dobrze wspierany. YAML bywa czytelniejszy przy większej liczbie opcji, a package.json ogranicza liczbę plików w projekcie. Wybierz jeden format i trzymaj się go w całym repozytorium.
Czy muszę instalować Prettier lokalnie?
Zaleca się instalację lokalną, ponieważ wtedy każdy członek zespołu i CI używają tej samej wersji. Wersja globalna może różnić się między komputerami i dawać inne formatowanie.
Czy .prettierrc działa w VS Code?
Tak, jeśli masz aktywne rozszerzenie Prettier i plik znajduje się w katalogu roboczym projektu. Edytor odczyta konfigurację i zastosuje ją przy formatowaniu, o ile nie nadpisują jej ustawienia użytkownika.