js 格式化prettier配置_代码格式化工具---prettier配置
我自己的常用 prettier 配置如下:
// .prettierrc 文件
// 这里修改的都是与默认值不同的,没有修改到的就是启用默认值
// .prettierrc 文件是使用 json 格式,如果报错了,该配置文件在编辑器里面是不会生效的
{
"bracketSpacing": true,
"printWidth": 160,
"semi": false,
"singleQuote": true
}
其他还可以选择
// prettier.config.js
module.exports = {
"bracketSpacing": true, // 是否在对象属性添加空格,这里选择是 { foo: bar }
"printWidth": 160, // 指定代码换行的行长度。单行代码宽度超过指定的最大宽度,将会换行,如果都不想换,可以添加 "proseWrap": "never"
"semi": false, // 是否在语句末尾打印分号,这里选择不加
"singleQuote": true // 是否使用单引号,这里选择使用
}
// package.json 中的 prettier 属性
{
"prettier": {
"bracketSpacing": true, // 是否在对象属性添加空格,这里选择是 { foo: bar }
"printWidth": 160, // 指定代码换行的行长度。单行代码宽度超过指定的最大宽度,将会换行,如果都不想换,可以添加 "proseWrap": "never"
"semi": false, // 是否在语句末尾打印分号,这里选择不加
"singleQuote": true // 是否使用单引号,这里选择使用
}
}
prettier 配置选项 (官网文档译文)
支持自定义的代码风格,可在CLI和API中使用。
单行代码的最大宽度 Print Width
指定代码换行的行长度。单行代码宽度超过指定的最大宽度,将会换行。
为了便于阅读,官方建议不要使用超过80个字符。我这边设置了160
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
80
--print-width
printWidth:
(如果在格式化 Markdown 时不想要换行,可以设置 Prose Wrap (是否换行) 选项以禁用它。)
Tab宽度 Tab Width
指定每个缩进级别的空格数。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
2
--tab-width
tabWidth:
Tab Tabs
使用制表符 (tab) 缩进行而不是空格 (space)。
如果设置了制表符缩进,并且一个缩进单位4个空格,那么编辑器一个 tab 键,出现的间隔就是 "一",一个大横杆
如果设置了空格缩进,并且一个缩进单位4个空格,那么编辑器一个 tab 键,出现的间隔就是 "····",四个小点
上面两个长度单位是一样的,都是4个空格,但是空格缩进,在代码进行空白处选择的时候,是一格格选的,制表符缩进是一下子4格选的
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
false
--use-tabs
useTabs:
(Tabs 将用于缩进,但 Prettier 使用空格来对齐代码,例如三元组。)
分号 Semicolons
在语句末尾打印分号。
有效选项:
true - 在每个语句的末尾添加分号。
false- 仅在可能引入ASI故障的行的开头添加分号。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
true
--no-semi
semi:
引号 Quotes
使用单引号而不是双引号。
笔记:
JSX 引用忽略此选项 - 请参阅 jsx-single-quote。
如果引号数超过其他引号,则使用较少的引用将用于格式化字符串
示例:
"I'm double quoted"
// 结果
"I'm double quoted"
和
"This \"example\" is single quoted"
// 结果
'This "example" is single quoted'。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
false
--single-quote
singleQuote:
引号属性 Quote Props
引用对象中的属性时更改。
有效选项:
"as-needed" - 仅在需要时在对象属性周围添加引号。
"consistent" - 如果对象中至少有一个属性需要引号,则引用所有属性。
"preserve" - 尊重对象属性中引号的输入用法。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
"as-needed"
--quote-props
quoteProps: ""
JSX引号 JSX Quotes
在JSX中使用单引号而不是双引号。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
false
--jsx-single-quote
jsxSingleQuote:
尾随逗号 Trailing Commas
多行时尽可能打印尾随逗号。(例如,单行数组永远不会得到尾随逗号。)
有效选项:
"none" - 没有尾随逗号。
"es5" - 在ES5中有效的尾随逗号(对象,数组等)
"all" - 尽可能使用尾随逗号(包括函数参数)。这需要 nodejs 8。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
"none"
--trailing-comma
trailingComma: ""
括号间距(这里指{、}) Bracket Spacing
在对象文字中打印括号之间的空格。
有效选项:
true- 例子:{ foo: bar }。
false- 例子:{foo: bar}。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
true
--no-bracket-spacing
bracketSpacing:
JSX 括号(这里指) JSX Brackets
将 > 多行 JSX 元素放在最后一行的末尾,而不是单独放在下一行(不适用于自闭元素)。
有效选项:
true - 示例:
className="prettier-class"
id="prettier-id"
onClick={this.handleClick}>
Click Here
false - 示例:
className="prettier-class"
id="prettier-id"
onClick={this.handleClick}
>
Click Here
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
false
--jsx-bracket-same-line
jsxBracketSameLine:
箭头函数圆括号 Arrow Function Parentheses
首先在v1.9.0中提供
在单个箭头函数参数周围加上括号。
有效选项:
"avoid" - 尽可能省略parens。例:x => x
"always" - 始终包括parens。例:(x) => x
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
"avoid"
--arrow-parens
arrowParens: ""
范围 Range
仅格式化文件的一部分。
这两个选项可用于格式化以给定字符偏移量开始和结束的代码(分别包含和排除)
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
0
--range-start
rangeStart:
Infinity
--range-end
rangeEnd:
解析器 Parser
指定要使用的解析器。
Prettier 会自动从输入文件路径中推断出解析器,因此您不必更改此设置。
这两个 babel 和 flow 解析器都支持相同的 JavaScript 功能集(包括Flow类型注释)。
它们可能在某些边缘情况下有所不同,因此如果您碰到其中一个,您可以尝试 flow 而不是 babel。
有效选项:
"babel"(来自 @babel/parser )命名为 "babylon" until v1.16.0
"babel-flow"(与解析器 "babel" 一样,但是明确地启用 Flow 解析以避免歧义)首先在v1.16.0中可用
"flow"(通过 flow-parser)
"typescript"(来自 @typescript-eslint/typescript-estree)首先在v1.4.0中提供
"css"(通过 postcss-scss 和 postcss-less,自动检测使用哪个解释器)首先在v1.7.1中提供
"scss"(与解析器 "css"一样,更喜欢 postcss-scss )首先在v1.7.1中提供
"less"(与解析器 "css"一样,更喜欢 postcss-less )首先在v1.7.1中提供
"json"(来自 @babel/parser parseExpression )首先在v1.5.0中提供
"json5"(与解析器 "json"一样,但输出为 json5 )首先在v1.13.0中可用
"json-stringify"(与解析器 "json"一样,但输出类似 JSON.stringify )首先在v1.13.0中提供
"graphql"(通过 graphql/language )首先在v1.5.0中提供
"markdown"(通过 remark-parse )首先在v1.8.0中提供
"mdx"(通过 remark-parse 和 @mdx-js/mdx )首先在v1.15.0中提供
"html"(通过 angular-html-parser )首先在1.15.0中提供
"vue"(与解析器 "html"一样,但也格式化于 vue 的语法)首先在1.10.0中可用
"angular"(与解析器 "html"一样,但也通过 angular-estree-parser 格式化 augular 特定的语法)首先在1.15.0中提供
"lwc"(与解析器 "html"一样,但也为 LWC 特定语法格式化)首先在1.17.0中可用
"yaml"(通过 yaml 和 yaml-unist-parser )首先在1.14.0中提供
还支持自定义解析器。首先在v1.5.0中提供
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
没有
--parser
--parser ./my-parser
parser: ""
parser: require("./my-parser")
注意:默认值为"babylon"v1.13.0。
文件路径 File Path
指定用于推断要使用的解析器的文件名。
例如,以下将使用CSS解析器:
cat foo | prettier --stdin-filepath foo.css
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
没有
--stdin-filepath
filepath: ""
需要编译指示 Require pragma
首先在v1.7.0中提供
Prettier 可以将自己限制为仅在文件顶部格式化包含特殊注释(称为pragma)的文件。
当逐步将大型未格式化的代码库转换为更漂亮的代码库时,这非常有用。
例如,提供以下内容作为其第一个注释的文件将被格式化 --require-pragma:
/**
* @prettier
*/
或者
/**
* @format
*/
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
false
--require-pragma
requirePragma:
插入Pragma Insert Pragma
首先在v1.8.0中提供
Prettier 可以在文件顶部插入一个特殊的 @format 标记,指定文件格式需要被格式化。
当与 --require-pragma 选项一起使用时,这很有效。
如果文件顶部已有 docblock,则此选项将使用 @format 标记向其添加换行符。
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
false
--insert-pragma
insertPragma:
是否换行 Prose Wrap
首先在v1.8.2中提供
默认情况下,Prettier 将按原样包含 markdown 文本,因为某些服务使用对行敏感的渲染器,例如 GitHub 注释和 BitBucket。
在某些情况下,您可能希望依赖编辑器/查看器,因此此选项允许您选择退出 "never"。
有效选项:
"always" - 如果超过打印宽度,请换行。
"never" - 不要换行。
"preserve" - 按原样显示。首先在v1.9.0中提供
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
"preserve"
--prose-wrap
proseWrap: ""
HTML空白灵敏度 HTML Whitespace Sensitivity
首次在v1.15.0中提供
指定 HTML 文件的全局空白区域敏感度
有效选项:
"css"- 遵守CSS display属性的默认值。
"strict" - 空格被认为是敏感的。
"ignore" - 空格被认为是不敏感的。
html 中空格也会占位,影响布局,prettier 格式化的时候可能会将文本换行,造成布局错乱
Prettier is an opinionated code formatter.
Prettier is an opinionated code formatter.
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
"css"
--html-whitespace-sensitivity
htmlWhitespaceSensitivity: ""
行结束 End of Line
首次出现在1.15.0中
由于历史原因,在文本文件中存在两种常用的行结尾的风格。那是\n(或LF换行)和\r\n(或CRLF用于回车+换行)。
前者在 Linux 和 macOS 上很常见,而后者在 Windows 上很普遍。可以在维基百科上找到解释其原因的一些细节。
默认情况下,Prettier 会保留给定文件已使用的行尾的风格。它还将一个文件中的混合行结尾转换为它在第一行末尾找到的结尾。
当人们在不同操作系统上协作项目时,很容易在中央 git 存储库中找到混合行结尾。
Windows 用户也可能会意外地将已提交文件中的行结尾更改 LF 为 CRLF。
这样做会产生很大的影响 git diff,如果在代码审查过程中没有注意到,那么file(git blame)的所有逐行历史都会丢失。
如果你想确保你的 git 存储库在 Prettier 所涵盖的文件中只包含 Linux 风格的行结尾:
将 endOfLine 选项设置为 lf
配置一个 pre-commit 钩子,运行 Prettier
配置 Prettier 在CI管道中运行 --check flag
Windows用户在使用您的仓库之前,运行 git config core.autocrlf false,以便git 在 checkout 时不会转换 LF 为 CRLF。或者,您可以添加 * text=auto eol=lf 到 repo 的.gitattributes 文件来实现此目的。
所有操作系统中的所有现代文本编辑器都能够在使用 \n(LF)时正确显示行结尾。但是,旧版本的 Windows 记事本会直观地将这些行压缩成一行。
有效选项:
"auto" - 维护现有的行结尾(通过查看第一行之后使用的内容来标准化一个文件中的混合值)
"lf"- Line Feed only(\n),在 Linux 和 macOS 以及 git repos 内部很常见
"crlf"- 回车符+换行符(\r\n),在 Windows 上很常见
"cr"- 仅限回车符(\r),很少使用
默认
CLI
API/.prettierrc/prettier.config.js/package.json["prettier"]
"auto"
--end-of-line
endOfLine: ""
js 格式化prettier配置_代码格式化工具---prettier配置相关推荐
- Prettier 1.15代码格式化工具新增Angular和Vue.js支持
Prettier 1.15代码格式化工具新增HTML.Vue.js.Angular.MDX支持以及多项语法优化和改进. 对于Angular和Vue,Prettier现在可以格式化这些扩展HTML的框架 ...
- 超人气代码格式化工具prettier
一.prettier 介绍 官方自己介绍说,prettier是一款强势武断的代码格式化工具,它几乎移除了编辑器本身所有的对代码的操作格式,然后重新显示.就是为了让所有用这套规则的人有完全相同的代码.在 ...
- python环境变量配置_?Python项目读取配置的正确姿势
读取配置是大部分python应用都会面临的问题,例如应用运行时需要读取数据库的配置,存储文件需要知道文件路径配置,应用在不同的环境的配置也不尽相同.因此,配置管理是一个必不可少的问题,配置读取的方式一 ...
- python查看电脑配置_怎么查看电脑配置(教你如何查看电脑配置信息和型号)
如今,由于游戏.影音.学习或者工作的需要,用户都会有购买电脑的时候,不过对于一些不懂电脑的小白来说,如果连电脑配置都不会差的话,是十分容易被宰的.比如组装台式机的时候,可能一个不注意就被JS调包了,如 ...
- springboot自动配置_揭秘SpringBoot自动化配置
花絮# 几年前接触过SpringBoot,跑过Demo,当时刚入行,连Spring都没搞明白,更别说SpringBoot了,就是觉得,哇塞,好厉害,然后一脸懵逼. 工作中没有用到,又没有去主动学习它. ...
- sso 服务端配置_使用身份传播配置服务提供商启动的SSO
sso 服务端配置 关于本系列 这个由三部分组成的系列文章"使用带有WebSphere Liberty的SAML 2.0进行跨域单点登录"介绍了在混合云环境中使用IBM®Cloud ...
- linux中python编译器的配置_方舟编译器环境配置及源码编译过程详解
1)首先将方舟编译器源代码包下载到本地. https://www.openarkcompiler.cn/download/OpenArkCompiler-0.2.tar.gz 2)Ubuntu系统中方 ...
- python查看电脑配置_怎么看电脑配置_怎么查看电脑配置好坏|信息【图文】-太平洋IT百科...
怎么看电脑配置?怎么查看电脑配置好坏和配置信息?查看电脑配置有两种方法,一种是查看电脑中的设备管理器,但这种方法通常无法完整地查看到电脑的配置信息;另外一种方法是使用软件查看,例如鲁大师.驱动精灵等. ...
- java 微信退款配置_微信支付退款配置
微信支付退款配置 1.微信支付配置 第一步,登录商城后台,设置->交易设置->支付配置 ,选择微信支付,点击配置进入到微信支付参数配置界面. 从应用ID和应用密钥下面的提示可以看出,微信支 ...
- python查看电脑配置_怎么查看电脑配置
怎么查看电脑配置 导语:正准备买笔记本或者看到组装好了的电脑,或者已经买好电脑的朋友,想知道电脑的配置参数.电脑的配置高低,我们可以通过以下方式来判断,一起来看看吧! 一.打开电脑 在桌面上[我的电脑 ...
最新文章
- java某人有5张三分_能不能帮我做一下题目啊,JAVA的,请求高手解答!
- MySQL隐式转化整理
- 数据结构实验指导书(朱素英)
- OpenCv:Mat矩阵的初始化
- 【Mysql】_1在centos7虚拟机上完成Mysql环境部署
- 【Python】Matplotlib太臃肿,试试Seaborn
- iphone 文件保存策略
- 乐器演奏_深度强化学习代理演奏的蛇
- iPhone 12包装盒设计曝光,没充电器没耳机实锤?
- Hadoop:Hadoop单机伪分布式的安装和配置
- html字体及文本样式设置
- 安丘妇幼保健院智能照明监控系统的设计与应用-安科瑞耿敏花
- android 锁屏壁纸时钟,桌面锁屏时钟下载-桌面锁屏时钟app安卓版v2.8.0-七度网
- 戴尔服务器2012系统密钥,戴尔恢复密钥在哪里找
- 计算机课评课意见,信息技术应用 用计算机画函数图象第一课时评课稿
- Linux命令之新增组groupadd
- 荐书丨《好奇心的秘密》:一个针尖上可以站多少跳舞的小天使?
- 奋战7个月拿下offer【结果被裁,我哭了】
- Unity添加自发光材质
- 计算机/设备和驱动器下有一个空白盘符无法删除