vscode prettier
前言
与通过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的更多相关文章
- vscode 中 eslint prettier 和 eslint -loader 配置关系
前置 本文将探究 vscode prettier 插件 和 eslint 插件在 vscode 中的配置以及这两者对应的在项目中的配置文件的关系,最后提及 vscode eslint 插件配置与 es ...
- 在vscode中使用eslint+prettier格式化vue项目代码 (转载)
ESlint:javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好,自行体会~~ vetur:可以格式化html.标准c ...
- vscode添加prettier格式化自动加分号问题
在vscode的settings.json中添加: "prettier.singleQuote": true, "prettier.semi": false, ...
- [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 ...
- 使用vscode开发vue cli 3项目,配置eslint以及prettier
初始化项目时选择eslint-config-standard作为代码检测规范,vscode安装ESLint和Prettier - Code formatter两个插件,并进行如下配置 { " ...
- vscode从听说到使用,vetur,prettier,htmljscssPrettify踩坑指南。
今天基于vue-cli(2.9.3)构建一个新的项目.我用的sublime,es6的代码格式要与公司格式兼容.采用了vue-cli自带的eslint后,有一些不统一的部分需要修改.先看看sublime ...
- VSCode 使用 ESLint + Prettier 来统一 JS 代码
环境: VSCode 1.33.1 Node.js 8.9.1 一.ESLint 1.介绍 ESLint是最流行的JavaScript Linter. Linter 是检查代码风格/错误的小工具.其他 ...
- vscode中eslint插件的配置-prettier
用vue-cli构建vue项目,会有个eslint代码检测的安装 可vscode自带代码格式化是prettier格式(右键有格式化文件或alt+shift+f) 这时候要在vscode上装一个esli ...
- vscode, eslint, prettier, vetur冲突及解决
这3工具都必须安装. 但是安装之后, 规则冲突又让人头疼. 讲下解决方案吧.一 从0开始1. 禁止工作区插件, 如下图: 2. 清空用户设置(Code–>首选项–>设置–>[右上角 ...
- vscode如何配置ts的lint,如何配置才能让eslint和prettier不冲突一键格式化代码(vue开发使用)
最近在使用ts,发觉tslint在vscode上使用很不方便,不如eslint一键格式化高效,就想着能不能配置下vscode让其像写js一样爽 这篇文章主要解决2个问题,第一个是如何让vscode使用 ...
随机推荐
- 2025dsfz集训Day4:BFS及其优化
DAY4: BFS及其优化 \[Designed\ By\ FrankWkd\ -\ Luogu@Lwj54joy,uid=845400 \] 特别感谢 此次课的主讲 - Kwling BFS 广度优 ...
- Python 类不要再写 __init__ 方法了
花下猫语:我们周刊第 98 期分享过一篇文章,它指出了 __init__ 方法存在的问题和新的最佳实践,第 99 期也分享了一篇文章佐证了第一篇文章的观点.我认为它们提出的是一个值得注意和思考的问题, ...
- windows 配置jdk8环境变量
JAVA_HOME: E:\Android\Java\jdk1.8.0_131 PATH: %JAVA_HOME\%bin 也可以只配置PATH就可以,如 E:\Android\Java\jdk1.8 ...
- 工具 | Hashcat
0x00 简介 Hashcat是一款强大的密码破解工具. 下载地址 Hashcat下载: Hashcat下载 0x01 功能说明 直接破解 组合攻击 掩码暴力破解 混合攻击 联合攻击 注:仅供安全研究 ...
- vue3 基础-API-响应式 ref, reactive
上篇咱介绍了 CompositionAPI, 其核心思想是直接在函数作用域内定义响应式状态变量,并将从多个函数中得到的状态组合起来处理复杂问题. 然后初介绍了 setup 函数的作用, 即其是在 cr ...
- 解决git clone 速度慢问题比较赞的方法
使用国内镜像,目前已知的GitHub国内镜像网站有github.com.cnpmjs.org和git.sdut.me. 在clone 某项目时候可将github.com替换为github.com.cn ...
- codeup之Day of Week(给定日期判断周几
题目描述 We now use the Gregorian style of dating in Russia. The leap years are years with number divisi ...
- 极简版闹钟(java)
package javaBasic; import java.awt.Toolkit; import java.awt.event.*; import java.text.SimpleDateForm ...
- 【最新】MySQL 5.6 保姆级安装详细教程
MySQL5.6简介 MySQL 5.6 是 MySQL 数据库管理系统的一个重要版本,以其稳定性.性能优化和功能扩充受到广泛关注与使用.该版本在数据库领域中提供了更加高效的数据处理能力.增强的复制功 ...
- C# 定时器 Timer 如何精确到 1-2 毫秒以内
最近在排查项目OTA的一个问题,触发了一毫秒或者2毫秒执行一次进程间通信的,导致通信阻塞的问题.这样就需要用到模拟触发1ms或者2ms触发事件.这让我第一时间想到了C#的定时器.由于我们项目用到的框架 ...