webstorm 保存时自动运行 prettier 需满足三条件:项目本地安装 prettier、禁用 ide 自带格式化、正确配置文件类型与配置文件路径;否则将静默跳过。

WebStorm 保存时自动运行 prettier 的前提条件
必须先在项目里装好 prettier,且 WebStorm 能识别到它——不是全局安装就行,得是项目本地 node_modules 里的版本。否则点保存时什么都不会发生,连报错都没有,只会默默跳过格式化。
- 推荐用
npm install --save-dev prettier或yarn add -D prettier安装到项目根目录 - 如果用 pnpm,确保
pnpm store没被误配成只读,否则 WebStorm 可能读不到prettier的二进制路径 - WebStorm 默认会找
node_modules/.bin/prettier,找不到就 fallback 到全局,但全局路径不稳定,不建议依赖
如何设置「Ctrl+S 时调用 prettier」而不是 WebStorm 自带格式化
WebStorm 默认的代码风格(Code Style)和 prettier 是两套规则,混用会导致反复格式化、光标乱跳、甚至删掉你手动加的空行或分号。必须关掉 IDE 自带格式化,只让 prettier 接管。
- 进
Settings > Editor > Code Style,把语言(如 JavaScript / TypeScript)的「Enable formatter」勾去掉 - 再进
Settings > Tools > Actions on Save,勾选「Run external tool」,点右边+添加新工具 - 命令填
npx prettier --write,参数填$FilePath$,工作目录填$ProjectFileDir$ - ⚠️ 不要用
prettier --write $FilePath$直接调用,因为没走npx,可能找不到项目级配置(比如.prettierrc)
prettier 配置文件不生效?检查这三处
WebStorm 不会自动加载所有配置名,它只认特定前缀和后缀组合,而且对 JSON/YAML/JS 文件的解析能力也不同。常见现象是:保存后缩进没变、单引号没转双引号、结尾分号还在——其实不是 prettier 挂了,是配置根本没读进去。
- 优先用
.prettierrc.json(最稳),.prettierrc(无后缀)或prettier.config.js在某些 WebStorm 版本里会被忽略 - 如果用了
prettier.config.js,确保它module.exports = {...},不能用 ES module 语法(export default) -
.prettierignore必须放在项目根目录,且每行一个路径,不支持通配符嵌套写法(比如src/**/test.js不生效,得写src/*/test.js)
为什么改完配置保存后没反应?可能是文件类型没匹配上
WebStorm 按「文件类型(File Type)」决定是否触发保存动作,而它对 .ts、.tsx、.vue 的识别默认不绑定到 JavaScript 工具链。比如你给 .ts 文件设了 prettier,但 WebStorm 把它当成了「TypeScript」类型而非「JavaScript」,那保存动作压根不会跑。
- 进
Settings > Editor > File Types,找到「JavaScript」类型,在「Registered Patterns」里加上*.ts、*.tsx - Vue 文件需要额外处理:在「Vue.js」类型里加
*.vue,同时确保Settings > Languages & Frameworks > JavaScript > Libraries里启用了 Vue 支持 - 如果用了 Svelte 或 Astro,它们没有默认绑定,得手动把对应后缀加到「JavaScript」或「HTML」类型下,否则
prettier就是摆设
prettier。










