Prettier - formatter kodu
Prettier to automatyczny formatter kodu. W przeciwieństwie do innych linterów, on nie tylko krzyczy, gdy kod nie trzyma się standardów formatowania, ale jest w stanie automatycznie go poprawić.
Korzystanie z Prettiera eliminuje kłótnie o formatowanie kodu i pozwala w trakcie Review skupić się na tym, co kod robi, a nie jak wygląda :)
Przykład działania
Możesz zobaczyć Prettiera w akcji tutaj
Instalacja
Aby zainstalować Prettier, wykonaj
# npm install -g prettier
Upewnij się, że masz Prettier w wersji 1.15.1 lub nowszej:
$ prettier -v 1.15.1
Następnie skonfiguruj swoje IDE/edytor tekstu tak, aby automatycznie formatowały kod prettierem:
https://github.com/prettier/prettier#editor-integration
Ustalone w tym wątku na forum parametru Prettiera to (z pominięciem tych, które domyślnie mają już ustaloną przez nas wartość i nie trzeba ich oddzielnie ustawiać):
--tab-width=4 --trailing-comma=es5 --use-tabs
Skonfiguruj edytor/IDE tak, aby korzystały z powyższych ustawień. W poniższych sekcjach znajdziesz opis, jak to zrobić w Atomie, Emacsie i VSCodium/VSCode.
.prettierrc
Jeżeli tworzysz nowy projekt, który nie ma jeszcze ustawionego pliku .prettierrc, dodaj go w korzeniu repozytorium:
{ useTabs: true, tabWidth: 4, trailingComma: "es5", "overrides": [ { "files": "*.yml", "options": { "tabWidth": 2, "useTabs": false } } ] }
Atom
Gdy używamy atoma, wystarczy że zainsatalujemy odpowiednią paczkę używając apm (Atom Package Manager):
# apm install prettier-atom
By odpowiednio skonfigurować prettiera wchodzimy w ustawienia atoma (domyślnie CRL + < ), przechodzimy do zakładki 'Packages' wyszukujemy prettier-atom i klikamy 'Settings', znjadziemy się w miejscu ze wszystkimi ustawieniami prettiera. Na dole w znajduje się sekcja 'Prettier Options', ustawiamy:
- 'Tab Width' na 4
- 'Trailing Comma' na es5
- 'Use Tabs' na true
Dla wygody, wyżej można też zaznaczyć 'Format Files on Save'.
Emacs
(require 'prettier-js) ;; trzeba zainstalować ten pakiet z MELPA (setq exec-path (append exec-path '("/home/kuba/.nvm/versions/node/v6.11.2/bin"))) ;; jeżeli korzystamy z nvm. Znajdujemy ścieżkę za pomocą `whereis prettier` i usuwamy z niej `/prettier` (add-hook 'js2-mode-hook 'prettier-js-mode) (add-hook 'web-mode-hook 'prettier-js-mode) (add-hook 'jsx-mode-hook 'prettier-js-mode) (add-hook 'scss-mode-hook 'prettier-js-mode) (add-hook 'css-mode-hook 'prettier-js-mode) (add-hook 'html-mode-hook 'prettier-js-mode) (custom-set-variables '(prettier-js-args (quote ("--trailing-comma" "es5" "--use-tabs" "--tab-width" "4"))) '(prettier-js-command "prettier") )
VS Codium / VS Code
Po zainstalowaniu prettiera w systemie (zob. komendy na początku tego artykułu) włącz VS Codium, odpal "Paletę" za pomocą kombinacji klawiszy ⌃+shft+P
Wpisz "Install extensions" i wciśnij ⏎
W wyszukiwarce rozszerzeń wpisz "prettier" i wybierz pierwszą opcję:
Po pomyślnej instalacji kliknij "reload":
Prettier jest już zainstalowany! Teraz czas na jego konfigurację. Włącz widok "Settings" za pomocą Palety:
Wpisz w wyszukiwarce "prettier":
i następnie ustaw poniższe opcje na następujące wartości:
W konfiguracji ustaw także "format on save" na true:
Jeżeli zapisywanie nadal nie działa, spróbuj ustawić prettiera jako domyślny formatter: [Ctrl+,] -> "Editor: Default Formatter" -> "esbenp.prettier-vscode"
F45802: image.png | |
Nov 27 2018, 13:09 |
F44556: image.png | |
Nov 11 2018, 11:23 |
F44552: image.png | |
Nov 11 2018, 11:23 |
F44550: Settings - VSCodium_182.png | |
Nov 11 2018, 11:23 |
F44546: Extension: Prettier - Code formatter - VSCodium_179.png | |
Nov 11 2018, 11:23 |
F44548: VSCodium_181.png | |
Nov 11 2018, 11:23 |
F44542: VSCodium_177.png | |
Nov 11 2018, 11:23 |
F44544: VSCodium_178.png | |
Nov 11 2018, 11:23 |
- Last Author
- Jakski
- Last Edited
- Mar 3 2021, 21:26