- 安裝formatAndSave外掛,安裝好了外掛後, 給專案裡的任一檔案執行Ctrl+S,發現專案根目錄多了
.prettierrc.js
和.prettierignore
檔案 - 外掛用法配置執行
ctrl+s
格式化- HBuilderX取消勾選儲存時自動格式化
- 外掛提供一個
ctrl+s
命令,名為prettier格式化程式碼
,與 HBuilderX 預設儲存命令重複,在任意檔案中按下ctrl+s
會出現選擇選單,設定以後只選一個
為prettier格式化程式碼
(這一步我新安裝沒出現,第一次到是出現了,所以沒截到圖) - 執行
ctrl+s
格式化
- 自定義格式化快捷鍵,因為我是Mac OS,所以希望儲存的時候
command+s
自動格式化
安裝formatAndSave外掛
安裝好了外掛後,發現專案根目錄多了.prettierrc.js
和.prettierignore
檔案
在 HBuilderX 左側目錄的任意專案的任意檔案中
ctrl+s
,外掛會獲取該檔案所在專案目錄,判斷所在專案根目錄下是否存在 prettier 配置檔案、是否存在 prettier 忽略檔案.prettierignore
,如果不存在,則會在專案根目錄建立預設的.prettierrc.js
和.prettierignore
,外掛會基於這兩個檔案進行格式化外掛自帶的prettier配置
module.exports = { // 指定換行的行長<int>,預設80 printWidth: 80, // 指定每個縮排級別的空格數<int>,預設2 tabWidth: 2, // 用製表符而不是空格縮排<bool>,預設false useTabs: false, // 在語句末尾新增分號<bool>,預設true semi: true, // 使用單引號而不是雙引號<bool>,預設false singleQuote: false, // object物件中key值是否加引號<as-needed|consistent|preserve>,預設as-needed // as-needed-僅在需要時在物件屬性周圍新增引號 // consistent-如果一個物件中至少有一個屬性需要引號,所有屬性新增引號 // preserve-保留物件屬性中使用者輸入使用的引號 quoteProps: "as-needed", // 在 JSX 中使用單引號而不是雙引號<bool>,預設false jsxSingleQuote: false, // 在多行逗號分隔的句法結構中儘可能列印尾隨逗號<es5|none|all>,預設es5 // es5-在 ES5 中有效的尾隨逗號(物件、陣列等),TypeScript 的型別引數中沒有尾隨逗號 // none-沒有尾隨逗號 // all-儘可能以逗號結尾(包括函式引數和呼叫)。要執行以這種方式格式化的 JavaScript 程式碼需要一個支援 ES2017(Node.js 8+ 或現代瀏覽器)或下層編譯的引擎。這還會在 TypeScript 的型別引數中啟用尾隨逗號(自 2018 年 1 月釋出的 TypeScript 2.7 起支援) trailingComma: "es5", // 物件字面量中括號之間的空格<bool>,預設true bracketSpacing: true, // 將>放在多行 HTML(HTML、JSX、Vue、Angular)元素最後一行的末尾,而不是單獨放在下一行(不適用於自關閉元素)<bool>,預設false // true: // <button // className="prettier-class" // id="prettier-id" // onClick={this.handleClick}> // Click Here // </button> // false: // <button // className="prettier-class" // id="prettier-id" // onClick={this.handleClick} // > // Click Here // </button> bracketSameLine: true, // 在唯一的箭頭函式引數周圍包含括號<always|avoid>,預設always // always-始終包含括號 // avoid-儘可能省略括號 arrowParens: "always", // Prettier 可以限制自己只格式化在檔案頂部包含特殊註釋(稱為 pragma)的檔案。這在逐漸將大型、未格式化的程式碼庫過渡到 Prettier 時非常有用<bool>,預設false requirePragma: false, // Prettier可以在檔案的頂部插入一個 @format 的特殊註釋,以表明該檔案已經被Prettier格式化過了。在使用 --require-pragma 引數處理一連串的檔案時這個功能將十分有用。如果檔案頂部已經有一個doclock,這個選項將新建一行註釋,並打上 @format 標記<bool>,預設false insertPragma: false, // 超過最大寬度是否換行<always|never|preserve>,預設preserve // always-如果超過最大寬度換行 // never-不要換行 // preserve-按原樣顯示 proseWrap: "preserve", // 指定 HTML、Vue、Angular 和 Handlebars 的全域性空格敏感度<css|strict|ignore>,預設css // css-遵循CSS屬性的預設值 // strict-所有標籤周圍的空格(或缺少空格)被認為是重要的 // ignore-所有標籤周圍的空格(或缺少空格)被認為是無關緊要的 htmlWhitespaceSensitivity: "ignore", // vue檔案script和style標籤中是否縮排<bool>,預設false vueIndentScriptAndStyle: false, // 行尾換行符<lf|crlf|cr|auto>,預設lf endOfLine: "lf", // 控制 Prettier 是否格式化嵌入在檔案中的引用程式碼<off|auto>,預設auto // auto–如果 Prettier 可以自動識別,則格式化嵌入程式碼 // off-從不自動格式化嵌入程式碼 embeddedLanguageFormatting: "auto", // 在 HTML、Vue 和 JSX 中強制執行每行單個屬性<bool>,預設false singleAttributePerLine: false, };
HBuilderX取消勾選儲存時自動格式化
取消勾選儲存時自動格式化,主要是為了儲存時,不要它的自動格式化程式碼風格設定。
自定義prettier格式化快捷鍵
參考外掛文件,在keybindings.json
檔案裡新增
[ { "key": "Command+S", "command": "extension.prettier", "override": true } ]
就可以儲存專案Command+s
自動格式化了
作者:gongzemin
連結:https://juejin.cn/post/7393740927170871359
來源:稀土掘金
連結:https://juejin.cn/post/7393740927170871359
來源:稀土掘金