ATTENTION PLEASE:
本翻譯僅用於學習交流,禁止商業用途。請參考prettier官網css
我剛剛接觸文檔翻譯,英語自打大學英語六級(CET-6)經過後就在沒有提高過,如今基本上都快還給個人英語老師了@_@。直至發稿時,全網(百度)搜索沒有發現一片像樣的文檔,好事心又開始做怪,發出來就當祭天了(估計老天爺都嫌棄文筆差,最近看《明朝那些事兒》才知道祭天得用一種叫作「青詞」的專用文章,這事大奸臣嚴嵩的兒子作得好。。。。。)。好啦,不囉嗦了,若是有大神發現有錯誤,或者更好的翻譯,歡迎帶錘子來讀(萬分感激!)html
Prettier工具少數幾個能夠定製的參數,在CLI命令行和配置文件中都可用。node
設置prettier單行輸出(不折行)的(最大)長度。typescript
出於代碼的可讀性,咱們不推薦(單行)超過80個字符的coding方式。json
在代碼的書寫手冊中,單行最大長度常被設置爲100或120。可是,人們寫代碼時,不會刻意的使每行都達到這個上限值。爲便於閱讀,開發者們一般使用空格將過長的單行變成多行。最佳實踐是,每行的平均長度應當小於這個上限值。
另外一方面,Prettier 會盡力讓代碼在一行(因此鏈式調用就都被搞到一行了,不得不吐槽了^~^)。當print width被設置成120時,工具備可能產出過於緊湊的或是其餘不盡人意的代碼。api
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
80 | --print-width <int> | printWidth: <int> |
注:若是在格式markdown時,不想折行,請設置 prose wrap參數來禁止這一行爲。數組
設置工具每個水平縮進的空格數markdown
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
2 | --tab-width <int> | tabWidth: <int> |
使用tab(製表位)縮進而非空格;app
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
false | --use-tabs | useTabs: <bool> |
在語句末尾添加分號;函數
有效參數:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
true | --mo-semi | semi: <bool> |
使用單引號而非雙引號;
提示:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
false | --single-quote | singleQuote: <bool> |
在任何可能的多行中輸入尾逗號。
有效參數:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
none | --trailing-comma <none \ es5 \ all > | trailingCommas: <none \ es5 \ all> |
在對象字面量聲明所使用的的花括號後({)和前(})輸出空格
有效參數:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
true | --none-bracket-spacing | bracketSpacing: <bool> |
在多行JSX元素最後一行的末尾添加 > 而使 > 單獨一行(不適用於自閉和元素)
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
false | --jsx-bracket-same-line | jsxBracketSameLinte: <bool> |
爲單行箭頭函數的參數添加圓括號。
有效參數:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
" avoid " | --arrow-parens < avoid \ always > | alwaysParens: <avoid \ always> |
只格式化某個文件的一部分;
這兩個參數能夠用於從指定起止偏移字符(單獨指定開始或結束、二者同時指定、分別指定)格式化代碼。
一下狀況,範圍將會擴展:
注意:這些參數不能夠同cursorOffset共用;
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
0 | --range-start-< int > | rangeStart: < int > |
Infinity | --range-end-< int > | rangeEnd: < int > |
指定使用哪種解析器。
babylon和flow都支持同一套JavaScript特性(包括Flow).Prettier將自動根據文件的輸入路徑選擇解析器,如非必要,不要修改該項設置。
內置的解析器包含:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
babylon | --parser < string <br/> --parser ./my-parser | parser: " <string> " <br/> parser: require(" ./my-parserrr ") |
指定文件的輸入路徑,這將被用於解析器參照。
示例:下面的將使用postcss解析器
cat foo | prettier --stdin-filepath foo.css
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
None | --stdin-filepath <string> | filePath: " <string> " |
Prettier能夠嚴格按照按照文件頂部的一些特殊的註釋格式化代碼,這些註釋稱爲「require pragma」(必須雜注)。這在逐步格式化一些大型、未經格式化過的代碼是十分有用的。
例如,一個帶有下面註釋的文件將在執行帶有 --require-pragma的cli指令(api配置文件亦可)時被格式化
/** *@prettier */ 或 /** *@format */
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
false | --require-pragma | requirePragma: <bool> |
Prettier能夠在文件的頂部插入一個 @format的特殊註釋,以代表改文件已經被Prettier格式化過了。在使用 --require-pragma參數處理一連串的文件時這個功能將十分有用。若是文件頂部已經有一個doclock,這個選項將新建一行註釋,並打上@format標記。
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
false | --insert-pragma | insertPragma: <bool> |
默認狀況下,Prettier會由於使用了一些折行敏感型的渲染器(如GitHub comment 和 BitBucket)而按照markdown文本樣式進行折行,但在某些狀況下,你可能只是但願這個文本在編譯器或查看器中soft-wrapping(是當屏幕放不下時發生的軟折行),因此這一參數容許設置爲 " never "
有效參數:
默認值 | CLI(命令行參數)重寫(覆蓋)默認值 | API重寫(配置文件) |
---|---|---|
" preserve " | --prose-wrap <always \ neve \preserver > | proseWrap:<always \ never \ preserver > |