VSCode中Prettier格式化文件失败问题求助
VSCode Prettier扩展格式化TypeScript文件报错问题
在使用VSCode搭配Prettier扩展格式化TypeScript文件时,出现以下错误,已查阅文档并更新至最新版本,问题仍未解决:
["ERROR" - 12:32:27] Cannot read properties of undefined (reading 'printDocToDebug') TypeError: Cannot read properties of undefined (reading 'printDocToDebug') at src/main/core.js (/Users/davidlau/arbor/arbor-newspresso-frontend/node_modules/prettier/index.js:8787:9) at __require (/Users/davidlau/arbor/arbor-newspresso-frontend/node_modules/prettier/index.js:1748:51) at Object.<anonymous> (/Users/davidlau/arbor/arbor-newspresso-frontend/node_modules/prettier/index.js:38168:12) at Module._compile (node:internal/modules/cjs/loader:1271:14) at Object..js (node:internal/modules/cjs/loader:1326:10) at Module.load (node:internal/modules/cjs/loader:1126:32) at node:internal/modules/cjs/loader:967:12 at Function._load (node:electron/js2c/node_init:2:13357) at Module.require (node:internal/modules/cjs/loader:1150:19) at require (node:internal/modules/cjs/helpers:121:18) ["ERROR" - 12:32:51] Error handling text editor change ["ERROR" - 12:32:51] Invalid version Error: Invalid version at t.isAboveV3 (/Users/davidlau/.vscode/extensions/esbenp.prettier-vscode-10.4.0/dist/extension.js:1:24917) at t.default.getSelectors (/Users/davidlau/.vscode/extensions/esbenp.prettier-vscode-10.4.0/dist/extension.js:1:11745) at t.default.handleActiveTextEditorChanged (/Users/davidlau/.vscode/extensions/esbenp.prettier-vscode-10.4.0/dist/extension.js:1:11131)
解决方案尝试
1. 修复项目本地Prettier依赖
- 删除项目根目录下的
node_modules文件夹、package-lock.json(或yarn.lock)文件 - 执行
npm install或yarn install重新安装所有依赖 - 检查项目
package.json中Prettier的版本,确保和VSCode扩展版本兼容(当前扩展版本为10.4.0,建议使用Prettier v3.x版本)
2. 指定扩展使用项目本地Prettier
- 打开VSCode设置,搜索
Prettier: Path - 将路径设置为
./node_modules/prettier,强制扩展使用项目内的Prettier版本,避免全局版本冲突
3. 重置扩展配置
- 禁用Prettier扩展,重启VSCode后重新启用
- 在VSCode设置中,找到Prettier相关配置,点击"重置所有设置"恢复默认值
4. 排查工具冲突
- 暂时禁用ESLint、TSLint等其他代码格式化/检查类扩展,测试格式化功能是否恢复正常,确认是否存在工具冲突
内容的提问来源于stack exchange,提问作者Lau Chun Hong
相关产品推荐
相关产品推荐

