vscode - 配置Prettier插件和.editorconfig文件使用介绍

news2025/1/23 21:10:25

文章目录

    • 1,介绍
    • 2,Prettier插件安装
    • 3,全局配置(settings.json)
    • 4,局部配置(新建.prettierrc文件)
    • 5,Prettier格式化优先级(重要)
    • 6,使用prettier格式化无效的解决办法
    • 7,.editorconfig文件使用介绍

1,介绍

官方解释:Prettier是一个固执己见的代码格式化程序。它通过解析代码并使用自己的规则重新打印代码来强制实现一致的风格,这些规则考虑了最大行长度,并在必要时包装代码。

其实就是一个代码格式化工具,是你写的代码更加合理和优美,同时这个插件配置也是非常的简单;

2,Prettier插件安装

到vsCode的扩展商城安装,如下第一个就是:

在这里插入图片描述

3,全局配置(settings.json)

1,在settings.josn 里面进行配置的规则相当于全局配置,当没有使用.prettier配置文件时,格式化代码会按照此规则进行格式化;

在settings.josn里面增加以下配置

在这里插入图片描述
代码如下:

 
 // "prettier.useEditorConfig": false,  // 是否使用editorConfig配置文件中的设置
  "prettier.semi": true, // 句尾是否填加分号
  "prettier.singleQuote": false, //是否使用单引号
  "prettier.trailingComma": "none", //禁止随时添加逗号
  "prettier.printWidth": 200, //每行代码的限制长度
  "prettier.proseWrap": "never", // 文本换行
  "prettier.bracketSpacing": true, // 在对象字面量的花括号内侧使用空格作为间隔
  

2,配置成默认的格式化工具

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

4,局部配置(新建.prettierrc文件)

在项目的根目录中新建 .prettierrc文件并配置,如下:

在这里插入图片描述

代码如下:

{
  "semi": true,
  "singleQuote": false,
  "trailingComma": "none",
  "printWidth": 200,
  "proseWrap": "never",
  "bracketSpacing": true
}

问:既在settings.josn做了全局配置又新建了.prettierrc文件,那么格式化会以那个为主呢;

答:以.prettierrc文件为主;没有此文件时会使用全局配置;

5,Prettier格式化优先级(重要)

优先级如下:

1、项目目录的.prettierrc文件,支持json和分号格式(其实还有很多种)
2、项目目录的.editorconfig文件
3、vscode的配置文件(settings.json)

.editorconfig文件会在下面讲到:

6,使用prettier格式化无效的解决办法

如果你只在settings.json中配置了格式化且你的项目根目录下有 .editorconfig文件 ,此时你的prettierrc默认格式化工具会达不到你的预期效果(或者无效);

因为:项目目录的.editorconfig文件优先级是大于 settings.json的;

解决方法:在项目根目录下面新建 .prettierrc 并配置;(优先级很重要)

7,.editorconfig文件使用介绍

在多人合作的项目中,每个人的开发习惯是不同的。以缩进来说,有的人习惯使用 space 键来进行缩进,有的人喜欢用 tab 键,有的人喜欢设置缩进为 4 个空格,有的人喜欢设置为 2 个空格。这样产生的后果就是每个人修改后的代码在格式上总是不统一的,那么提交到git 上就会代码风格不一致。
这时使用.editorconfig就可以规避这个问题。

1,为什么使用editorconfig文件

  1. 本地编辑好工工整整的代码push到GitHub上后,发现缩进变得异常难看;
  2. 带中文注释的代码,在不同平台下阅读会出现乱码;
  3. 帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式;

通过 引入.editorconfig文件,将能够避免诸如此类问题。

2,新建editorconfig文件

在项目根目录直接输入.editorconfig名称,按回车后系统会自动生成.editorconfig文件。
在这里插入图片描述

3,通配符的 匹配规则

*                匹配除/之外的任意字符串
**               匹配任意字符串
?                匹配任意单个字符
[name]           匹配name中的任意一个单一字符
[!name]          匹配不存在name中的任意一个单一字符
{s1,s2,s3}       匹配给定的字符串中的任意一个(用逗号分隔) 
{num1..num2}    匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数

4,属性

所有的属性和值都是忽略大小写的,解析时它们都是小写的;

indent_style    设置缩进风格(tab是硬缩进,space为软缩进)
indent_size     用一个整数定义的列数来设置缩进的宽度,如果indent_style为tab,则此属性默认为tab_width
tab_width       用一个整数来设置tab缩进的列数。默认是indent_size
end_of_line     设置换行符,值为lf、cr和crlf
charset         设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom
trim_trailing_whitespace  设为true表示会去除换行行首的任意空白字符。
insert_final_newline      设为true表示使文件以一个空白行结尾
root           表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件

5,editorconfig 使用示例


[*.{js,jsx,ts,tsx,vue}] #表示要匹配的文件类型

charset = utf-8 #字符编码格式

indent_style = space #缩进风格,space表示基于空格做缩进

indent_size = 2 #缩进大小,2表示缩进2个单位

insert_final_newline = true #当创建文件时是否自动在文件末尾添加一个新行,true表示自动添加

trim_trailing_whitespace = true #是否自动移除行尾多余空格,true表示自动移除

6,支持的编辑器

GitHub
Visual Studio
TortoiseGit
Vim
Emacs
Notepad++

Over;

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

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

相关文章

【教程分享】一键部署MySQL,轻松搞定Docker安装和配置!

1 下载 MySQL 我们就可以到 docker hub 来看: 点击后的页面: 直接执行docker pull mysql,会下载最新版本的 MySQL。 点击 tags,找到并下载经典的 MySQL5.7: [rootservice-monitoring ~]# docker pull mysql:5.7.42-o…

Speech and Language Processing-之N-gram语言模型

正如一句老话所说,预测是困难的,尤其是预测未来。但是,如何预测一些看起来容易得多的事情,比如某人接下来要说的几句话后面可能跟着哪个单词。 希望你们大多数人都能总结出一个很可能的词是in,或者可能是over&#x…

【hello Linux】进程间通信——命名管道

目录 1. 命令行的命名管道 2. 命名管道 1. 命名管道的创建 2. 命名管道的使用 Linux🌷 在上篇中我们说到,可以使用匿名管道完成父子进程间的通信,它是让子进程继承父进程,从而达到让两个进程看到同一份资源; 如果我们…

急急急!Kafka Topic 资源权限紧张怎么办?

我们都知道 Kafka 的 topic 资源比较“贵”,所以一般会给项目 topic 权限限制,按需申请。Milvus 会在建新表时自动申请 kafka topic 资源,这时候自动申请不到怎么办?手动配置 topic 要符合什么规范才能被 Milvus 使用?…

Vue 3 第十六章:组件五(内置组件-teleport)

文章目录 1. Teleport组件的基本用法2. Teleport组件的高级用法2.1. 禁用 Teleport2.2. 多个Teleport组件共享目标元素 1. Teleport组件的基本用法 <teleport>组件用于将组件的内容插入到指定的DOM元素中&#xff0c;而不是插入到组件自身的位置。例如&#xff0c;当我们…

improperIntegral反常积分

(https://img-blog.csdnimg.cn/e5973004aba8484a82839773ff58a390.png)

【刷题记录】leetcode215 数组中的第K个最大元素

题目链接&#xff1a;215. 数组中的第K个最大元素 - 力扣&#xff08;LeetCode&#xff09; 题干&#xff1a; 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k …

cleanmymac到底好不好用?有必要买吗

CleanMyMac是一款Mac电脑清理和保护工具,其最新版本为CleanMyMac X4.13。本版本在性能和功能上有较大提高,在如今的电脑使用过程中&#xff0c;保持电脑干净整洁是一项重要的任务。而随着Mac电脑越来越受欢迎&#xff0c;Mac电脑清理软件也愈发流行。在众多的Mac电脑清理软件中…

2023年PMP证书的含金量有多高?对于企业来说有多大的价值?

这里我就说一下关于PMP证书的含金量问题 1、方便就业 众所周知年这几年就业形势严峻。但是在这种大环境下&#xff0c;PMP证书持有者就业形势依然乐观。在求职市场&#xff0c;职位需求量大且薪资可观。 这种局面的形成主要是因为企项目管理规模化发展是一种发展趋势。随着公…

【error】linux运行java的jar包报错,java.lang.UnsatisfiedLinkError

目录 linux运行串口相关的java.jar报错如下&#xff1a; java.lang.UnsatisfiedLinkError是Java中的一个错误类型&#xff0c;通常发生在调用本地&#xff08;native&#xff09;方法或使用JNI&#xff08;Java Native Interface&#xff09;时。 在Java中&#xff0c;本地…

Vue(内置指令、自定义指令)

一、内置指令 1. v-text 和插值语法的效果类似 <h2>{{name}}</h2><h2 v-text"name">此处v-text绑定的数据替换所有标签内内容</h2> //vuedata: {name: "xlf",}, 注意&#xff1a;不能识别标签数据 <h2 v-text"name2"…

立体堆叠柱图的实现

立体堆叠柱图实现的实现 实现效果示例&#xff1a; 1、技术原理 1.1、技术分析 平面上的立体柱图可以看作是由4个平行四边形拼接而成的图形&#xff0c;分别是&#xff1a; 1、顶部菱形2和3、左右矩形&#xff0c;他们两个色值相同但亮度不同&#xff0c;从而产生立体阴影…

国内也能畅玩gptchat,游玩攻略分享

看到很多人都不知道怎么玩gptchat&#xff0c;小编就不能忍了&#xff0c;其实要玩chatgpt是非常的简单的&#xff0c;完全是能免费体验chatgpt的强大的。下面我们一起来了解一下国内也能畅玩gptchat&#xff0c;游玩攻略分享。 一.Chatgpt国内为啥能玩 其实现在很多的程序都接…

人人都能升薪?深扒Android开发中的通天神器Framework

近年来&#xff0c;客户端领域的竞争日益激烈&#xff0c;很多安卓开发者抱怨内卷现象普遍存在。在这种背景下&#xff0c;开发者们面对的压力越来越大&#xff0c;很难掌握足够的技能去顺利发展。解决内卷&#xff0c;突破迷茫&#xff0c;是许多开发者面临的挑战。小米的高管…

win 10电脑无法修改etc下文件的解决方法

不说废话&#xff0c;直接用etc下面的networks文件来举例子&#xff0c;当我想要修改该文件并重新保存的时候提示与管理员联系获得权限&#xff0c;解决方式如下&#xff1a; 首先&#xff0c;选中需要修改的networs文件&#xff0c;右键“属性”&#xff1b; 找到“安全”&…

3.软考——操作系统章节

操作系统章节 1.进程管理 银行家算法见博客 2.存储管理 1.页式存储 状态位为0的表示不在内存中&#xff0c;状态位为1的表示在内存中 如果不在内存中的要进入内存&#xff0c;需要去干掉再内存中的 原则&#xff1a; 1.一定是状态位位1的&#xff1b;然后再看访问位&#…

玩转smardaten | 探秘画布能力,搞定无代码复杂页面设计

下面这些是你印象中无代码能配置出的页面吗&#xff1f;“条条框框”、“一板一眼”的基础表单、列表、详情是无代码页面开发的全部吗&#xff1f; 当然不是&#xff01;花样排版与自由布局的展示页、交互丰富与多模块嵌套的首页&#xff0c;也是企业级软件页面中不可或缺的一部…

mybatis generator自定义model的代码注释

mbg相信大家都比较熟悉&#xff0c;可以自动化的生成数据库表对应的model&#xff0c;mapper。但是最近在使用mbg的时候遇到了这样的问题&#xff1a; 1、生成的model虽然可以根据数据库字段的comment生成注释&#xff0c;但这些注释仅对后端开发人员可见&#xff0c;如果想让前…

HNU-计算机系统-实验3-BombLab

写在前面 首先要感谢A橙_大佬&#xff0c;在之前的实验以及学习中&#xff0c;许多地方参考与学习了大佬的思路。 本次实验也是听取了A橙_大佬的建议&#xff0c;先自己做一遍&#xff0c;再看答案&#xff0c;有了更进一步的深入理解。 最后在验收的时候&#xff0c;发现验…

“豪”秀上演——莱佛士学生作品精彩亮相施华蔻发布会

4月12日&#xff0c;一场美轮美奂的视觉盛宴——施华蔻专业2023春夏新季风发布会&#xff0c;在广州珠江琶醍啤酒文化创意艺术区盛大举行。 ▲施华蔻专业2023春夏新季风发布会现场 当天发布会以《重组新生》为主题&#xff0c;施华蔻将潮流趋势、前沿发艺与先锋科技相结合&…