prettier 配置推荐
安装 npm 包:
bashnpm i --save-dev prettier
- vscode安装插件prettier - Code formatter
- 快捷键:alt + shift + f
- 文件根目录新建
.prettierrc.js
,并加入以下内容
json
module.exports = {
printWidth: 100, // 设置prettier单行输出(不折行)的(最大)长度
proseWrap: 'preserve', // 使用默认的折行标准
tabWidth: 2, // 设置工具每一个水平缩进的空格数
endOfLine: 'auto', // 文件换行格式 LF/CRLF
useTabs: false, // 使用tab(制表位)缩进而非空格
semi: false, // 在语句末尾添加分号
singleQuote: false, // 使用单引号代替双引号
quoteProps: 'as-needed', // 对象的 key 仅在必要时用引号
trailingComma: 'es5', // 在对象或数组最后一个元素后面是否加逗号
bracketSpacing: true, // 在对象字面量声明所使用的的花括号后({)和前(})输出空格
arrowParens: 'avoid', // 为单行箭头函数的参数添加圆括号,参数个数为1时可以省略圆括号
// parser: 'babylon', // Prettier 会自动从输入文件路径推断解析器
jsxBracketSameLine: true, // 在多行JSX元素最后一行的末尾添加 > 而使 > 单独一行(不适用于自闭和元素)
filepath: 'none', // 指定文件的输入路径,这将被用于解析器参照
requirePragma: false, // (v1.7.0+) Prettier可以严格按照按照文件顶部的一些特殊的注释格式化代码,这些注释称为“require pragma”(必须杂注)
insertPragma: false, // (v1.8.0+) Prettier可以在文件的顶部插入一个 @format的特殊注释,以表明改文件已经被Prettier格式化过了。
// 配置覆盖
overrides: [
{
files: ['*.js'],
options: {
singleQuote: true, // 使用单引号代替双引号
},
},
],
}
忽略文件
根目录下新建
.prettierignore
texnode_modules/ package-lock.json *.md dist/ build/
手动格式化
在
package.json
里添加json"scripts":{ "format": "prettier --write './**/*.{js,ts,vue,json,css,less,scss}'", }
保存文件时自动格式化 方案1. vscode全局设置(当前项目设置
.vscode/settings.json
)json"editor.formatOnSave": true, //代码在保存的时候自动格式化
方案2. 装插件监听onChange
……
和eslint冲突解决
安装
eslint-config-prettier
, 将eslint里面和prettier重叠的配置都关掉bashnpm install --save-dev eslint-config-prettier
在eslint的配置文件r
.eslintrc.*
里面进行配置json{ "extends": [ "some-other-config-you-use", "prettier" ], "plugins": ["prettier"] }
换行符
LF
,CRLF
推荐统一用
LF
方案1: 增加 .gitattribute 文件
在 repo 目录下新建
.gitattribute
文件,内容为:* text eol=lf
方案2: 修改 Git 配置
bash# win git config --global core.autocrlf true // 提交时转换为LF,检出时转换为CRLF # mac linu unix git config --global core.autocrlf input // 提交时把 CRLF 转换成 LF,签出时不转换 git config --global core.safecrlf true // 不允许混用
如果只需要修改当前仓库,去掉
--global
。