前言

与通过npm安装的prettier关联

vscode 的 prettier 扩展,会优先使用 你项目中明确安装的 prettier(既 npm i prettier --D) 的版本,

如果你没有安装,则会扩展使用自己 捆绑内置的 比较旧的 prettier。

内置的 prettier 版本

确定版本

VSCode Prettier插件中内置的 prettier 版本为多少怎么查看呢?

--方式 1--

注意在自己没有给项目 npm i prettier情况下,

点击编辑器右下角的 prettier 标,此时右键格式化任意一个文件:此时控制台就会输出当前prettier的信息,

详细输出如下:

["INFO" - 22:32:05] Formatting file:///Users/dsh/Desktop/demo/index.js
["INFO" - 22:32:05] Using config file at /Users/dsh/Desktop/demo/prettier.config.js // 本次格式化 使用的prettier配置文件
["INFO" - 22:32:05] PrettierInstance: // 本次格式化, prettier实例信息
{
"doc": {// ... },
"version": "2.8.8", // 本次格式化,使用的 prettier 核心版本
// ...
}
["INFO" - 22:32:05] Formatting completed in 14ms. // 格式化完成耗时

--方式 2--

进入 vscode prettier仓库,直接查看绑定的 prettier 版本。

存在问题

截止目前 prettier-vscode v11.0.0扩展内置的 prettier v2.8.8,这跟目前(2025.5.12) prettier最新版本3.5.0 还是有不小的差距的。

比如我们在使用扩展内置的prettier 格式化如下代码就会报错 object?.name不支持可选链:

unknown type: "ChainExpression"

如果我们给项目安装 prettier,进而就会让插件使用该版本的prettier作为内核,在此尝试就不会报错。

配置文件

VS Code 的 Prettier 插件默认只会识别 cjs 格式 既prettier.config.js,

如果你的项目标记了 type: module,那么需将你的配置文件改为 prettier.config.cjs

否则就会遇到 error resolving prettier configuration

就没人发现吗.

当然是有的,我查阅到在prettier-vscode的 issue 上就有人讨论---

卡尔霍基:为啥 esm 配置会报错?我调查发现这是因为 VS Code 的prettier扩展内部使用了旧的 Prettier v2 。
诺埃尔福特:只能项目本身安装prettier了,这样VS Code 的prettier扩展会优先使用我们自己下载的 v3 甚至更新版本的prettier内核。
约书亚·希普特:所以, prettier的vscode 扩展,绝对是垃圾!

常见问题

配置缓存

在修改 config 文件后,prettier 插件还是使用上次的配置。

解决办法:重启 vscode!

Monorepo

针对Monorepo项目,只需要在跟项目中安装 prettier即可,其他子项目均会使用这一个!

vscode prettier的更多相关文章

  1. vscode 中 eslint prettier 和 eslint -loader 配置关系

    前置 本文将探究 vscode prettier 插件 和 eslint 插件在 vscode 中的配置以及这两者对应的在项目中的配置文件的关系,最后提及 vscode eslint 插件配置与 es ...

  2. 在vscode中使用eslint+prettier格式化vue项目代码 (转载)

    ESlint:javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好,自行体会~~ vetur:可以格式化html.标准c ...

  3. vscode添加prettier格式化自动加分号问题

    在vscode的settings.json中添加: "prettier.singleQuote": true, "prettier.semi": false, ...

  4. [Tool] Enable Prettier in VSCode as Format on Save and add config files to gitingore

    First of all, install Prettier extension: "Pettier - Code formatter". The open the VSCode ...

  5. 使用vscode开发vue cli 3项目,配置eslint以及prettier

    初始化项目时选择eslint-config-standard作为代码检测规范,vscode安装ESLint和Prettier - Code formatter两个插件,并进行如下配置 { " ...

  6. vscode从听说到使用,vetur,prettier,htmljscssPrettify踩坑指南。

    今天基于vue-cli(2.9.3)构建一个新的项目.我用的sublime,es6的代码格式要与公司格式兼容.采用了vue-cli自带的eslint后,有一些不统一的部分需要修改.先看看sublime ...

  7. VSCode 使用 ESLint + Prettier 来统一 JS 代码

    环境: VSCode 1.33.1 Node.js 8.9.1 一.ESLint 1.介绍 ESLint是最流行的JavaScript Linter. Linter 是检查代码风格/错误的小工具.其他 ...

  8. vscode中eslint插件的配置-prettier

    用vue-cli构建vue项目,会有个eslint代码检测的安装 可vscode自带代码格式化是prettier格式(右键有格式化文件或alt+shift+f) 这时候要在vscode上装一个esli ...

  9. vscode, eslint, prettier, vetur冲突及解决

    这3工具都必须安装. 但是安装之后, 规则冲突又让人头疼. 讲下解决方案吧.一 从0开始1. 禁止工作区插件, 如下图:  2. 清空用户设置(Code–>首选项–>设置–>[右上角 ...

  10. vscode如何配置ts的lint,如何配置才能让eslint和prettier不冲突一键格式化代码(vue开发使用)

    最近在使用ts,发觉tslint在vscode上使用很不方便,不如eslint一键格式化高效,就想着能不能配置下vscode让其像写js一样爽 这篇文章主要解决2个问题,第一个是如何让vscode使用 ...

随机推荐

  1. 2025dsfz集训Day4:BFS及其优化

    DAY4: BFS及其优化 \[Designed\ By\ FrankWkd\ -\ Luogu@Lwj54joy,uid=845400 \] 特别感谢 此次课的主讲 - Kwling BFS 广度优 ...

  2. Python 类不要再写 __init__ 方法了

    花下猫语:我们周刊第 98 期分享过一篇文章,它指出了 __init__ 方法存在的问题和新的最佳实践,第 99 期也分享了一篇文章佐证了第一篇文章的观点.我认为它们提出的是一个值得注意和思考的问题, ...

  3. windows 配置jdk8环境变量

    JAVA_HOME: E:\Android\Java\jdk1.8.0_131 PATH: %JAVA_HOME\%bin 也可以只配置PATH就可以,如 E:\Android\Java\jdk1.8 ...

  4. 工具 | Hashcat

    0x00 简介 Hashcat是一款强大的密码破解工具. 下载地址 Hashcat下载: Hashcat下载 0x01 功能说明 直接破解 组合攻击 掩码暴力破解 混合攻击 联合攻击 注:仅供安全研究 ...

  5. vue3 基础-API-响应式 ref, reactive

    上篇咱介绍了 CompositionAPI, 其核心思想是直接在函数作用域内定义响应式状态变量,并将从多个函数中得到的状态组合起来处理复杂问题. 然后初介绍了 setup 函数的作用, 即其是在 cr ...

  6. 解决git clone 速度慢问题比较赞的方法

    使用国内镜像,目前已知的GitHub国内镜像网站有github.com.cnpmjs.org和git.sdut.me. 在clone 某项目时候可将github.com替换为github.com.cn ...

  7. codeup之Day of Week(给定日期判断周几

    题目描述 We now use the Gregorian style of dating in Russia. The leap years are years with number divisi ...

  8. 极简版闹钟(java)

    package javaBasic; import java.awt.Toolkit; import java.awt.event.*; import java.text.SimpleDateForm ...

  9. 【最新】MySQL 5.6 保姆级安装详细教程

    MySQL5.6简介 MySQL 5.6 是 MySQL 数据库管理系统的一个重要版本,以其稳定性.性能优化和功能扩充受到广泛关注与使用.该版本在数据库领域中提供了更加高效的数据处理能力.增强的复制功 ...

  10. C# 定时器 Timer 如何精确到 1-2 毫秒以内

    最近在排查项目OTA的一个问题,触发了一毫秒或者2毫秒执行一次进程间通信的,导致通信阻塞的问题.这样就需要用到模拟触发1ms或者2ms触发事件.这让我第一时间想到了C#的定时器.由于我们项目用到的框架 ...