前言

与通过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. FreeRTOS消息队列传递数组

    1.使用消息队列的发送和接收前,需要先创建消息队列 2.消息队列的深度和大小   深度 就是数组的元素个数   大小 就是整个数组占用的空间大小 消息队列的创建 static void AppObjC ...

  2. Eclipse 安装---windows10环境下

    Eclipse 安装---windows10环境下 一.下载 1.前往eclipse官网下载 https://www.eclipse.org/downloads/ 2.选择类型(压缩包) 3.选择版本 ...

  3. 前端艺术实践:用Storybook构建交互式组件文档

    对于前端来说,组件话已经从热门话题变成了基础能力,自定义组件或自建组件库已是再常见不过的事了.在实际工作中组件库的文档直接决定开发体验和效率,文档建设的重要性不言而喻.今天要推荐的工具叫Storybo ...

  4. 获取当前屏幕的缩放比例,dpi

    Graphics currentGraphics = Graphics.FromHwnd(new WindowInteropHelper(Window.GetWindow(this)).Handle) ...

  5. [开源] .NetCore 使用 ORM FreeSql 访问 MySql/Mariadb

    1.创建项目 我们以 console 类型项目试验 插入.删除.更新.查询 等功能,创建控制台项目,使用命令: dotnet new console dotnet add package FreeSq ...

  6. 内网穿透——Natapp实现

    转自:NATAPP使用教程(内网穿透)_Willing卡卡的博客-CSDN博客_natapp NATAPP内网穿透使用教程 本文主要分享了有关内网穿透NATAPP的使用,包括:注册.建立隧道(免费). ...

  7. 我也来说说经典面试题目-“OOM异常会导致JVM退出吗?”

    经典面试题目"OOM异常会导致JVM退出吗? 我的回答是"这要分情况看,对于守护线程来说,OOM并不会导致JVM退出:对于非守护线程来说,如果某个线程捕获了OOM异常并正确进行了处 ...

  8. 工具 | MemShellParty

    0x00 简介 MemShellParty是一键常见中间件框架内存马生成工具.一键生成常见中间件框架内存马,让内存马测试变得简单高效,打造内存马的全方位学习平台 下载地址: MemShellParty ...

  9. 青岛oj集训10

    最重要:01背包(完全背包) 设dp[i][j]表示前i个物品装进容量为j的背包 分两种情况,要么不要(第一项),要么要(第二项)f[i][j]=max(f[i-1][j],f[i-1][j-w[i] ...

  10. LinqHelper拓展

    public static class LinqHelper { //NHibernate.Hql.Ast.HqlBooleanExpression public static Expression& ...