如何在 Visual Studio Code 中使用 Prettier 格式化代码

简介

保持代码格式的一致性是一个挑战,但现代开发工具使得可以自动在团队的代码库中保持一致性成为可能。

在本文中,您将设置 Prettier 来自动格式化您在 Visual Studio Code 中的代码,也被称为 VS Code

为了演示目的,这里是您将要格式化的示例代码:

const name = "James";

const person ={first: name
}

console.log(person);

const sayHelloLinting = (fName) => {
console.log(`Hello linting, ${fName}`)
}

sayHelloLinting('James');

如果您熟悉代码格式化,您可能会注意到一些错误:

  • 单引号和双引号混用。
  • person 对象的第一个属性应该单独占一行。
  • 函数内部的控制台语句应该缩进。
  • 您可能喜欢或不喜欢箭头函数参数周围的可选括号。

先决条件

要按照本教程操作,您需要下载并安装 Visual Studio Code。

要在 Visual Studio Code 中使用 Prettier,您需要安装该扩展。要做到这一点,可以在 VS Code 的扩展面板中搜索 Prettier - Code Formatter。如果您是第一次安装它,您将看到一个 install 按钮,而不是下面显示的 uninstall 按钮:

!Prettier extension readme

步骤 1 — 使用格式化文档命令

安装了 Prettier 扩展后,您现在可以利用它来格式化您的代码。首先,让我们探讨如何使用 格式化文档 命令。该命令将使您的代码在格式上更加一致,包括空格、换行和引号。

要打开命令面板,您可以在 macOS 上使用 COMMAND + SHIFT + P,在 Windows 上使用 CTRL + SHIFT + P

在命令面板中,搜索 format,然后选择 Format Document

!Command palette opened with results for format

然后您可能会被提示选择要使用的格式。要这样做,点击 Configure 按钮:

!Prompt for selecting a default formatter

然后选择 Prettier - Code Formatter

!Selecting Prettier

您的代码现在已经格式化,包括空格、换行和一致的引号:

const name = 'James';

const person = { first: name };

console.log(person);

const sayHelloLinting = (fname) => {
  console.log(`Hello linting, ${fName}`);
}

sayHelloLinting('James');

这也适用于 CSS 文件。您可以将具有不一致缩进、大括号、换行和分号的内容转换为格式良好的代码。例如:

body {color: red;
}
h1 {
  color: purple;
font-size: 24px
}

将被重新格式化为:

body {
  color: red;
}
h1 {
  color: purple;
  font-size: 24px;
}

现在我们已经探讨了这个命令,让我们看看如何将其实现自动运行。

步骤 2 — 在保存时格式化代码

到目前为止,您必须手动运行命令来格式化您的代码。为了自动化这个过程,您可以在 VS Code 中选择一个设置,使得在保存文件时自动格式化。这也确保了不会将未经格式化的代码提交到版本控制中。

要更改此设置,请按下 macOS 上的 COMMAND + ,,或者在 Windows 上按 CTRL + , 打开 Settings 菜单。一旦菜单打开,搜索 Editor: Format On Save,并确保选项已被勾选:

!Editor: Format On Save checked

设置完成后,您可以像往常一样编写代码,并在保存文件时自动进行格式化。

步骤 3 — 更改 Prettier 配置设置

Prettier 默认会为您做很多事情,但您也可以自定义设置。

打开 Settings 菜单。然后搜索 Prettier。这将显示您可以更改的所有设置:

!Configuration Settings for Prettier

以下是一些最常见的设置:

  • Single Quote - 选择单引号或双引号。
  • Semi - 选择是否在行末包含分号。
  • Tab Width - 指定一个制表符要插入多少个空格。

使用 VS Code 中内置的设置菜单的缺点是它不能确保团队中的开发人员之间的一致性。

步骤 4 — 创建 Prettier 配置文件

如果您在 VS Code 中更改设置,其他人可能在他们的机器上有完全不同的配置。您可以通过为您的项目创建一个配置文件来确保团队中的一致格式。

创建一个名为 .prettierrc.extension 的新文件,其中扩展名可以是以下之一:

  • yml
  • yaml
  • json
  • js
  • toml

以下是使用 JSON 的简单配置文件示例:

{
  "trailingComma": "es5",
  "tabWidth": 4,
  "semi": false,
  "singleQuote": true
}

有关配置文件的更多具体信息,请查看 Prettier 文档。创建其中一个并将其检入您的项目后,您可以确保每个团队成员遵循相同的格式规则。

结论

保持一致的代码风格是一个良好的实践。在与多个合作者共同开发项目时尤其有益。达成一致的配置有助于提高代码的可读性和理解性。这样可以将更多的时间用于解决具有挑战性的技术问题,而不是在解决诸如代码缩进之类的问题上浪费时间。

Prettier 确保了代码格式的一致性,并使这一过程自动化。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

环保评A的意义与价值

环保评A,这个看似简单的称谓,背后却蕴藏着深厚的环保理念和实践标准。在当今社会,环保已经成为一项全球性的议题,各国都在努力推动绿色发展,实现可持续发展目标。那么,环保评A究竟是全国性的认证还是地方性…

Java SSTI服务端模版注入漏洞原理与利用

文章目录 前言Velocity基础语法基础示例命令执行 靶场实践漏洞代码漏洞验证检测工具 FreeMarker基础示例漏洞示例CMS案例 Thymeleaf基础示例漏洞示例安全方案 总结 前言 SSTI(Server Side Template Injection)全称服务端模板注入漏洞,在 Jav…

开放式耳机值得入手买吗?可以对比这几款开放式耳机看看

居家办公时,选择一款合适的耳机能够有效地提高工作效率。入耳式耳机虽然能够有效地隔绝外界噪音,但长时间佩戴会对耳朵造成负担,甚至引发耳道感染。而头戴式耳机虽然能够提供更好的音质,但体积较大,佩戴起来不够灵活。…

PyTorch -- Batch Normalization(BN) 快速实践

Batch Normalization 可以 改善梯度消失/爆炸问题:前面层的梯度经过多次传递后会变得非常小(大),从而导致网络收敛速度慢(不收敛),应用 BN 可缓解加速网络收敛:BN 使得每个神经元的输入分布更加稳定减少过拟合:BN 可减…

求导,积分

求导公式: 复合函数求导法则:两个函数导函数的乘积. 例如:f(x)2x1,f(x)2,g(x)x^24x4,g(x)2x4 那么复合函数: g(f(x))(2x1)^24(2x1)4 把(2x1)看做整体,则g2(2x1)4 然后再求(2x1)的导函…

LeetCode | 2879.显示前三行

在 pandas 中,可以使用 head() 方法来读取 DataFrame 的前几行数据。如果想读取指定数量的行,可以在 head() 方法中传入一个参数 n,读取前 n 行 import pandas as pddef selectFirstRows(employees: pd.DataFrame) -> pd.DataFrame:retur…

Dictionary 字典

文章目录 一、什么是字典1.1 字典的创建方式 一、什么是字典 字典: 用来存储数据,与列表和元组不一样的是,字典以键值对的形式对数据进行存储,也就是 key 和 value。相当于 Java 中的 Map。 注意: 1、 key 的值不可重…

C++进阶(一)

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 前言 本篇博客是讲解函数的重载以及引用的知识点的。 文章目录 前言 1.函数重载 1.1何为函数重载 1.2函数重载的作用 1.3函数重载的实现 2.引用 2.1何为引用 2.2定义引用 2.3引用特性 2.4常引用 2…

认识一些分布函数-Frechet分布及其应用

1. 何为Frechet分布 Frechet分布也称为极值分布(EVD)类型II,用于对数据集中的最大值进行建模。它是四种常用极值分布之一。另外三种是古贝尔分布、威布尔分布和广义极值分布(Gumbel Distribution, the Weibull Distribution and the Generalized Extreme Value Distributi…

34 Debian如何配置ELK群集

作者:网络傅老师 特别提示:未经作者允许,不得转载任何内容。违者必究! Debian如何配置ELK群集 《傅老师Debian知识库系列之34》——原创 ==前言== 傅老师Debian知识库特点: 1、拆解Debian实用技能; 2、所有操作在VMware虚拟机实测完成; 3、致力于最终形成Debian知识手…

LVS-DR模式详解:提升网站性能的最佳解决方案

LVS-DR模式原理 用户请求到达Director Server: 用户请求到达Director Server(负载均衡服务器),数据包首先到达内核空间的PREROUTING链。数据包源IP:CIP,目标IP:VIP,源MAC&#xff1a…

【内存管理之C语言数组】

1.栈空间上的C数组 糟糕的可用性,但是你将在遗留代码中见到它们 相同类型的对象的内存块 大小必须是常量表达式 第一个元素索引为0 2.指针和C数组 更奇怪的是:数组标识符退化为指向第一个元素的指针 3.访问数组 4.堆空间上的C数组 相同类型的对象的内…

数据库开发——并发控制(第十一章)

文章目录 前言并发执行例题一、封锁二、封锁协议三、可串行调度四、总结 学习目标:重点为并发控制的基本概念及几个基本协议 前言 数据库管理系统必须提供并发控制机制,保证事务的隔离性和一致性 并发执行例题 一、封锁 排他锁称为写锁,共…

智能化状态管理:自动状态流转处理模块

目录 基本背景介绍 具体实现 基本数据准备 基本数据表 状态转换常量 状态转换注解 任务处理模版 各任务实现逻辑 开启比对任务进行处理 降噪字段处理任务处理 开启业务数据比对处理 业务数据比对处理 开始核对数据生成最终报告处理 核对数据生成最终报告处理 状…

小红书教程简化版,从0开始走向专业,小红书-主理人培养计划 (13节)

课程目录 1-小红书分析与拆解.mp4 2-小红书电商玩法.mp4 3-小红书基础信息设置10_1.mp4 4-小红书如何开店?.mp4 5-小红书店铺设置(1).mp4 5-小红书店铺设置.mp4 6-小红书笔记制作与产品发布.mp4 7-小红书运营的文案与标题.mp4 8-小红…

Spring Boot 自定义Starter

自定义starter 创建pom项目 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.ap…

MySQL的三种重要的日志

日志 Mysql有三大日志系统 Undo Log&#xff08;回滚日志&#xff09;&#xff1a;记录修改前的数据&#xff0c;用于事务回滚和 MVCC&#xff08;多版本并发控制&#xff09;。 Redo Log&#xff08;重做日志&#xff09;&#xff1a;记录数据变更&#xff0c;用于崩溃恢复&…

XAMPP PHP-CGI 远程代码执行漏洞(CVE-2024-4577)

漏洞概述&#xff1a; PHP 是一种被广泛应用的开放源代码的多用途脚本语言&#xff0c;PHP-CGI 是 PHP 自带的 FastCGI 管理器。是一个实现了 CGI 协议的程序&#xff0c;用来解释 PHP 脚本的程序&#xff0c;2024 年 6 月 7 日&#xff0c;推特安全上 orange 公开了其漏洞细节…

基于Wireshark实现对FTP的抓包分析

基于Wireshark实现对FTP的抓包分析 前言一、虚拟机Win10环境配置二、FileZilla客户端的安装配置下载FileZilla客户端安装FileZilla 三、FileZilla Server安装下载FileZilla Server安装 四、实现对FTP的抓包前置工作实现抓包完成抓包 前言 推荐一个网站给想要了解或者学习人工智…

MySQL学习笔记-进阶篇-SQL优化

SQL优化 插入数据 insert优化 1&#xff09;批量插入 insert into tb_user values(1,Tom),(2,Cat),(3,Jerry); 2&#xff09;手动提交事务 mysql 默认是自动提交事务&#xff0c;这样会导致频繁的开启和提交事务&#xff0c;影响性能 start transaction insert into tb_us…
最新文章