Prettier系列之配置

news2024/9/19 19:00:32

文章の目录

  • 一、在文件目录中创建一个`.prettierrc`文件
  • 二、添加规则
    • 1、Print Width
    • 2、Tab Width
    • 3、Tabs
    • 4、Semicolons
      • 4.1、true----在每个语句的末尾添加一个分号。
      • 4.2、false----只在可能导致ASI失败的行开头添加分号。
    • 5、Quotes
    • 6、Quote Props
      • 6.1、as-needed
      • 6.2、consistent
      • 6.3、preserve
    • 7、JSX Quotes
    • 8、Trailing Commas
      • 8.1、es5
      • 8.2、none
      • 8.3、all
    • 9、Bracket Spacing
      • 9.1、true - `Example: { foo: bar }`
      • 9.2、false - `Example: {foo: bar}`
    • 10、Bracket Line
      • 10.1、true - Example:
      • 10.2、false - Example:
    • 11、Arrow Function Parentheses
      • 11.1、"always" -总是包含连词。例如:(x) => x
      • 11.2、"avoid" -尽可能省略parns。示例:x => x
    • 12、Range
    • 13、Parser
    • 14、File Path
    • 15、Require Pragma
    • 16、Insert Pragma
    • 17、Prose Wrap
      • 17.1、always
      • 17.2、never
      • 17.3、preserve
    • 18、HTML Whitespace Sensitivity
      • 18.1、css
      • 18.2、strict
      • 18.3、ignore
    • 19、Vue files script and style tags indentation
      • 19.1、false
      • 19.2、true
    • 20、End of Line
      • 20.1、If
      • 20.2、crlf
      • 20.3、cr
      • 20.4、auto
    • 21、Embedded Language Formatting
      • 21.1、auto
      • 21.2、off
    • 22、Single Attribute Per Line
      • 22.1、false
      • 22.2、true
  • 三、最终的规则设置
  • 写在最后


Prettier官网

一、在文件目录中创建一个.prettierrc文件

在这里插入图片描述

二、添加规则

1、Print Width

指定自动换行的行长,默认值80。

在这里插入图片描述

{
	"printWidth": 74
}

2、Tab Width

指定每个缩进级别的空格数,默认值为2个空格。

在这里插入图片描述

{
    "printWidth": 74,
    "tabWidth": 4
}

3、Tabs

用制表符代替空格缩进行,默认值为false。

在这里插入图片描述

{
    "printWidth": 74,
    "tabWidth": 4,
    "useTabs": true
}

4、Semicolons

在语句的末尾打印分号,默认值为true。

4.1、true----在每个语句的末尾添加一个分号。

4.2、false----只在可能导致ASI失败的行开头添加分号。

在这里插入图片描述

5、Quotes

用单引号代替双引号,默认值为false。
在这里插入图片描述

6、Quote Props

当对象中的属性是Quote时更改。

6.1、as-needed

只在需要的对象属性周围添加引号。

6.2、consistent

如果对象中至少有一个属性需要引用,则需要引用所有属性。

6.3、preserve

对象属性中引号的输入使用。

在这里插入图片描述

7、JSX Quotes

在JSX中使用单引号而不是双引号。
在这里插入图片描述

8、Trailing Commas

在多行逗号分隔的语法结构中,尽可能打印尾随逗号。(例如,单行数组的后面永远不会有逗号。)

8.1、es5

尾随逗号在ES5中有效(对象、数组等)。在TypeScript中,类型参数中没有后面的逗号。

8.2、none

后面没有逗号。

8.3、all

尽可能以逗号结尾(包括函数参数和调用)。要运行这种格式的JavaScript代码,需要一个支持ES2017 (Node.js 8+或现代浏览器)或底层编译的引擎。这也支持在TypeScript的类型参数中使用尾随逗号(从2018年1月发布的TypeScript 2.7开始支持)。
在这里插入图片描述

{
	"printWidth": 74,
	"tabWidth": 4,
	"useTabs": true,
	"trailingComma": "none"
}

9、Bracket Spacing

在对象字面量的括号之间打印空格。

9.1、true - Example: { foo: bar }

9.2、false - Example: {foo: bar}

在这里插入图片描述

10、Bracket Line

将多行HTML (HTML, JSX, Vue, Angular)元素的>放在最后一行的末尾,而不是单独放在下一行(不适用于自关闭元素)。

10.1、true - Example:

<button
  className="prettier-class"
  id="prettier-id"
  onClick={this.handleClick}>
  Click Here
</button>

10.2、false - Example:

<button
  className="prettier-class"
  id="prettier-id"
  onClick={this.handleClick}
>
  Click Here
</button>

在这里插入图片描述

11、Arrow Function Parentheses

在唯一的箭头函数参数周围包含圆括号。

11.1、“always” -总是包含连词。例如:(x) => x

11.2、“avoid” -尽可能省略parns。示例:x => x

在这里插入图片描述

{
	"printWidth": 74,
	"tabWidth": 4,
	"useTabs": true,
	"trailingComma": "none",
	"arrowParens": "avoid"
}

12、Range

只格式化文件的一个片段。

在这里插入图片描述

13、Parser

指定要使用的解析器。

Prettier自动从输入文件路径推断解析器,因此不需要更改此设置。

在这里插入图片描述
在这里插入图片描述

14、File Path

指定要使用的文件名,以推断要使用哪个解析器。

该选项仅在CLI和API中有用。在配置文件中使用它没有意义。

在这里插入图片描述

15、Require Pragma

Prettier可以限制自己只格式化在文件顶部包含特殊注释(称为pragma)的文件。这在逐渐将大型、未格式化的代码库转换为更漂亮的代码库时非常有用。

在这里插入图片描述

16、Insert Pragma

Prettier可以在文件顶部插入一个特殊的@format标记,指定该文件已使用Prettier进行格式化。当与——require-pragma选项一起使用时,效果很好。如果在文件的顶部已经有一个文档块,那么这个选项将添加一个带有@format标记的换行符。

在这里插入图片描述

17、Prose Wrap

默认情况下,由于一些服务使用对换行敏感的渲染器,例如GitHub comments和BitBucket,因此pretty不会更改标记文本的换行。若要将散文包装到打印宽度,请将此选项更改为“always”。如果你想要pretty强制所有的散文块在一行上,而依赖于编辑器/查看器软换行,你可以使用"never"。

17.1、always

如果散文超过打印宽度,则对其进行包装。

17.2、never

把每篇散文都拆成一行。

17.3、preserve

什么都不做,让散文保持原样。
在这里插入图片描述

18、HTML Whitespace Sensitivity

18.1、css

CSS display属性的默认值。对于处理一样严格。

18.2、strict

所有标记周围的空白(或没有空白)被认为是重要的。

18.3、ignore

所有标记周围的空白(或没有空白)被认为是无关紧要的。

在这里插入图片描述

19、Vue files script and style tags indentation

是否缩进Vue文件中<script><style>标签内的代码。

19.1、false

不要缩进Vue文件中的<script><style>标记。

19.2、true

缩进Vue文件中的<script><style>标记。

在这里插入图片描述

20、End of Line

20.1、If

仅限换行(\n),在Linux和macOS以及git回购中常见

20.2、crlf

回车+换行字符(\r\n), Windows中常见

20.3、cr

只返回字符(\r),很少使用

20.4、auto

维护现有的行结束符(一个文件中的混合值通过查看第一行之后使用的内容来规范化)
在这里插入图片描述

21、Embedded Language Formatting

控制Prettier是否格式化文件中嵌入的引用代码。

21.1、auto

如果pretty可以自动识别,则格式化嵌入的代码。

21.2、off

永远不要自动格式化嵌入代码。

在这里插入图片描述

22、Single Attribute Per Line

在HTML、Vue和JSX中强制每行使用单个属性。

22.1、false

不要强制每行只有一个属性。

22.2、true

每行执行一个属性。

在这里插入图片描述

三、最终的规则设置

其他的规则均按默认走

{
	"printWidth": 74,
	"tabWidth": 4,
	"useTabs": true,
	"trailingComma": "none",
	"arrowParens": "avoid"
}

后续会出一个针对当前的prettier设置Eslint校验的规则设置,来解除这些校验错误。

写在最后

如果你感觉文章不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Compose挑灯夜看 - 照亮手机屏幕里面的书本内容

一、前言 上一篇文章 Compose回忆童年 - 手拉灯绳-开灯/关灯里面82年钨丝灯&#xff0c;让我又有了新的想法&#xff0c;我们怎么照亮手机里面的文本内容呢&#xff1f; 我们会在上一篇文章的基础上来实现“挑灯夜看”的功能&#xff0c;怎么下手呢&#xff1f;往下看&#x…

小程序01/小程序 全局配置 tabBar 介绍、小程序模板语法数据绑定 wxml渲染

一.全局配置 tabBar 介绍 tabBar说明: tabBar是配置全局 页面底部导航 tabBar内包含 页面底部导航 背景 按钮 文字 文字颜色 注意: tabBar内list 最多是 5 项 &#xff0c;最少是 2 项 二.小程序模板语法数据绑定 说明: index.js文件data内定义属性 在index.wxml内渲染 in…

靠steam搬砖项目,傻瓜式操作单日500+,可放大操作

在分享干货之前&#xff0c;作为一个从15年开始创业的过来人&#xff0c;先教大家怎么分辨网络上的项目靠不靠谱&#xff0c;以后擦亮眼睛再做&#xff0c;切记&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 1、回本周期性我这个人比较俗&#xff0c;创业就是…

我的世界(MC) forge 1.19.3 开服教程

Debian系统使用MCSManager9面板搭建Minecraft Java版MOD服务器的教程&#xff0c;本教程用的forge1.19.3服务端&#xff0c;用其他服务端的也可以参考一下。 其他版本我的世界服务器搭建教程&#xff1a;https://blog.zeruns.tech/tag/mc/各种Minecraft服务端介绍和下载&#…

双线性变换法MATLAB实现巴特沃斯低通滤波器

实验名称 数字信号处理实验4 实验&#xff08;实习&#xff09;日期 12.13 得分 指导老师 学院 电信院 专业 电子信息工程 年级 2020 班次 姓名 学号 20208327 1.实验目的 掌握利用MATLAB求滤波器阶数和自然截至频率&#…

手把手带你理解TPS趋势分析

在性能分析中,前端的性能工具,我们只需要关注几条曲线就够了:TPS、响应时间和错误率。这是我经常强调的。 但是关注 TPS 到底应该关注什么内容,如何判断趋势,判断了趋势之后,又该如何做出调整,调整之后如何定位原因,这才是我们关注 TPS 的一系列动作。 今天,我们就通…

SSM闲置物品

14-13开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;基于s5m闲置物品交易系统 网站前台&#xff1a;关于我们、联系我们、公告信息、闲置物品、求购信息 管理员功能&…

SQL语句练习06

目录 一、建表 二、SQL语句练习 一、建表 一、建立如下学生表(命名格式“姓名拼音_三位学号_week8student”&#xff0c;如LBJ_023_week8student&#xff09; create table LYL_116_week8student(SNO int primary key, SNAME char(8) not null unique,SEX char(2), DEPTNO i…

初学Nodejs(7):mysql模块的简单使用

文章目录Nodejsmysql模块1、在项目中操作数据库的步骤1.1 安装操作mysql数据库的第三方模块&#xff08;mysql&#xff09;1.2 通过mysql模块连接到mysql数据库&#xff0c;并进行必要配置1.3 通过mysql模块执行sql语句1.3.1 查询数据1.3.2 插入数据插入数据的快捷方式1.3.3 更…

43_读写内部Flash实验

目录 STM32的内部FLASH简介 内部FLASH的构成 主存储器 系统存储区 对内部FLASH的写入过程 解锁 擦除扇区 写入数据 操作内部FLASH的库函数 FLASH解锁、上锁函数 设置操作位数及擦除扇区 写入数据 实验源码 STM32的内部FLASH简介 在STM32芯片内部有一个FLASH(nor …

vTESTstudio入门到精通 - vTESTstudio工具栏介绍_ Traceability Documentation Environment

由于Traceability & Documentation和Environment的两块内容较少&#xff0c;所以就合并起来介绍&#xff0c;单独的功能介绍略少&#xff0c;就不分开了&#xff0c;vTESTstudio工具栏介绍这块内容主要也是给大家做个普及&#xff0c;大家也是主要做个了解&#xff0c;方便…

可信启动、安全启动:SGX、TrustZone、SecureEnclave

最近在公众号上看到了一篇文章&#xff0c;算是又丰富了自己的安全方面的眼界。 最近看公众号取代了小视频、知乎这些东西。以前是真的不喜欢碎片化的东西&#xff0c;看什么学什么总是要找到书籍。但是这样的做法太过的极端&#xff0c;因为有时候有些事是两面性的。比如像安全…

SD nand与SD卡 SPI模式驱动

SD nand 与 SD卡的SPI模式驱动 文章目录SD nand 与 SD卡的SPI模式驱动1. 概述2. SPI接口模式与SD接口模式区别2.1 接口模式区别2.2 硬件引脚2.3 注意事项3. SD接口协议3.1 命令3.1.1 命令格式3.1.2 命令类型3.2 响应3.2.1 响应格式4. SD nand&#xff08;SD卡&#xff09;结构描…

小程序01/ 小程序 模板语法—条件渲染方式、小程序 模板语法-列表循环渲染方式

模板语法—条件渲染方式 1.wx:if 语法: 单分支: wx:if" 条件 " 双分支: wx:else 多分支: wx:elif" 条件 " 作用: 根据条件渲染 如果条件不满足 则该元素不会添加到DOM数 注意: wx:else前面必须要有 wx:if 或 wx:elif 2.hidden 语法: hidden&qu…

Vue Router安装与基本使用

Vue Router安装与基本使用(入门使用) 一、安装 npm install vue-router4在package.json 会配置一行 “vue-router”: “^4.1.6” 二、基本使用 2.1、新建路由器 新建 router文件夹 1个index.js文件 //1.定义路由组件 import Home from ../views/Home.vue import About from ..…

[附源码]Python计算机毕业设计Django学生社团信息管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

QtCreator同时运行多个程序

更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;Qt开发经验 &#x1f448; QtCreator同时运行多个程序 在Windows下QtCreator默认只能运行一个程序&#xff0c;再次编译运行就会自动关闭之前运行的程序&#xff1b; 有时候我们想运行多个程序时&#x…

【电力系统】考虑储能优化的微网能量管理双层模型附matlab代码

​✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法…

一篇文章带你了解HBase、Zookeeper的安装部署

第 2 章 HBase 快速入门2.1 HBase 安装部署2.1.1 Zookeeper 正常部署2.1.2 Hadoop 正常部署2.1.3 HBase 的解压2.1.4 HBase 的配置文件2.1.5 HBase 远程发送到其他集群2.1.6 HBase 服务的启动2.1.7 查看 HBase 页面2.1.8 高可用&#xff08;可选&#xff09;2.2 HBase Shell 操…

「地表最强」C++核心编程(四)类和对象—对象初始化和清理

环境&#xff1a; 编译器&#xff1a;CLion2021.3&#xff1b;操作系统&#xff1a;macOS Ventura 13.0.1 文章目录一、构造函数和析构函数1.1 构造函数1.2 析构函数1.3 示例二、构造函数的分类及调用1.1 构造函数的分类1.2 构造函数的调用三、拷贝构造函数调用时机3.1 调用时机…