VS Code中Prettier保存不格式化:无效配置文件求助
Prettier保存格式化失败:
No loader specified for extension ".prettierrc" 修复方案 问题重现
在Xubuntu虚拟机的VS Code中进行Odin Project练习时,保存代码触发Prettier格式化出现以下错误:
["INFO" - 5:58:23 AM] Formatting completed in 6ms. ["INFO" - 5:58:30 AM] Formatting file:///home/t/repos/css-exercises/flex/03-flex-header-2/style.css ["ERROR" - 5:58:30 AM] Invalid prettier configuration file detected. ["ERROR" - 5:58:30 AM] No loader specified for extension ".prettierrc" Error: No loader specified for extension ".prettierrc" at Explorer.getLoaderEntryForFile (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8194:17) at Explorer.loadFileContent (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8448:29) at Explorer.createCosmiconfigResult (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8453:40) at runLoad (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8464:37) at async cacheWrapper (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/node_modules/prettier/third-party.js:8294:22) at async Promise.all (index 0) at async t.ModuleResolver.getResolvedConfig (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/dist/extension.js:1:5693) at async t.default.format (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/dist/extension.js:1:13308) at async t.PrettierEditProvider.provideEdits (/home/t/.vscode/extensions/esbenp.prettier-vscode-9.10.3/dist/extension.js:1:11417) at async B.provideDocumentFormattingEdits (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:94:45902) ["ERROR" - 5:58:30 AM] Invalid prettier configuration file detected. See log for details.
当前VS Code settings.json配置:
{ "workbench.colorTheme": "Default Dark+", "editor.guides.bracketPairs": true, "workbench.iconTheme": "vscode-icons", "editor.linkedEditing": true, "security.workspace.trust.untrustedFiles": "open", "prettier.configPath": "/home/t/repos/eslintrc.prettierrc", "[javascript]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[css]": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode" }, "editor.defaultFormatter": "esbenp.prettier-vscode", "gitlens.hovers.currentLine.over": "line", "liveServer.settings.donotShowInfoMsg": true, "liveServer.settings.AdvanceCustomBrowserCmdLine": "/opt/firefox/firefox", "editor.formatOnSave": true, "prettier.useEditorConfig": false }
已尝试:切换格式化器、卸载重装Prettier扩展、调整useEditorConfig等设置、移动配置文件位置,均无效。
修复步骤
1. 修正Prettier配置文件命名与格式
Prettier无法识别无后缀的.prettierrc文件,需给配置文件添加明确后缀:
- 将
/home/t/repos/eslintrc.prettierrc重命名为.prettierrc.json(JSON格式)、.prettierrc.js(JS格式)或.prettierrc.yml(YAML格式) - 更新
settings.json中的prettier.configPath为新的文件路径,例如:"prettier.configPath": "/home/t/repos/.prettierrc.json" - 确保文件内容符合对应格式要求(JSON需严格语法,JS需导出配置对象)
2. 确保项目本地安装Prettier依赖
在/home/t/repos目录下执行命令,安装本地Prettier:
npm install prettier --save-dev
若全局安装了Prettier,可通过which prettier获取安装路径,在VS Code设置中指定:
"prettier.prettierPath": "/usr/local/bin/prettier"
3. 清理缓存并重启VS Code
- 关闭VS Code
- 删除项目目录下的
.prettier-cache文件(如果存在) - 删除VS Code缓存目录:
rm -rf ~/.config/Code/Cache ~/.config/Code/CachedData - 重新启动VS Code并测试格式化功能
4. 检查ESLint与Prettier集成配置
确保ESLint配置文件(如.eslintrc.json)正确集成Prettier:
- 已安装
eslint-config-prettier和eslint-plugin-prettier依赖:npm install eslint-config-prettier eslint-plugin-prettier --save-dev - ESLint配置中包含:
{ "extends": ["plugin:prettier/recommended"], "plugins": ["prettier"] }
内容的提问来源于stack exchange,提问作者trivenge
相关产品推荐
相关产品推荐

