Page MenuHomeSealhub

Prettier - formatter kodu
Updated 1,370 Days AgoPublic

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:

.prettierrc
{
  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

.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

VSCodium_176.png (562×707 px, 51 KB)

Wpisz "Install extensions" i wciśnij

VSCodium_177.png (562×707 px, 52 KB)

W wyszukiwarce rozszerzeń wpisz "prettier" i wybierz pierwszą opcję:

VSCodium_178.png (562×707 px, 80 KB)

Po pomyślnej instalacji kliknij "reload":

Extension: Prettier - Code formatter - VSCodium_179.png (562×707 px, 117 KB)

Prettier jest już zainstalowany! Teraz czas na jego konfigurację. Włącz widok "Settings" za pomocą Palety:

VSCodium_181.png (562×707 px, 64 KB)

Wpisz w wyszukiwarce "prettier":

Settings - VSCodium_182.png (562×707 px, 62 KB)

i następnie ustaw poniższe opcje na następujące wartości:

image.png (91×288 px, 5 KB)

image.png (158×419 px, 16 KB)

image.png (59×200 px, 4 KB)

W konfiguracji ustaw także "format on save" na true:

image.png (561×705 px, 61 KB)

Jeżeli zapisywanie nadal nie działa, spróbuj ustawić prettiera jako domyślny formatter: [Ctrl+,] -> "Editor: Default Formatter" -> "esbenp.prettier-vscode"

Tags
  • Unknown Object (Project)
Referenced Files
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
Subscribers
None
Last Author
Jakski
Last Edited
Mar 3 2021, 21:26

Event Timeline

kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik added a project: Unknown Object (Project).Jul 20 2018, 13:55
kuba-orlik edited the content of this document. (Show Details)
kuba-orlik shifted this object from the Restricted Space space to the S5 Publiczna space.Sep 20 2019, 18:13