Prettier格式化工具对.sol文件失效,对.js/.css等文件正常
解决VS Code中Prettier无法格式化Solidity文件的问题
以下是针对Prettier图标划掉、提示不支持Solidity但之前能正常使用的问题的排查和解决步骤:
确认本地依赖插件安装
优先使用项目本地的Prettier和Solidity插件,避免全局版本冲突。在项目根目录执行:# 卸载可能存在的全局插件(可选) npm uninstall -g prettier prettier-plugin-solidity # 安装本地开发依赖 npm install --save-dev prettier prettier-plugin-solidity执行
npm list prettier-plugin-solidity确认插件已成功安装到项目中。配置VS Code默认格式化器
- 打开VS Code设置(快捷键
Ctrl+,),搜索Editor: Default Formatter,选择esbenp.prettier-vscode作为全局默认格式化器。 - 搜索
Solidity: Default Formatter,确保设置为esbenp.prettier-vscode(部分Solidity插件会提供该选项)。
- 打开VS Code设置(快捷键
手动添加settings.json配置
打开用户或工作区的settings.json(可通过命令面板Ctrl+Shift+P选择Preferences: Open Settings (JSON)打开),添加以下配置:"[solidity]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "prettier.documentSelectors": [ "**/*.sol" ]该配置强制Prettier接管
.sol文件的格式化任务,避免其他插件干扰。清理缓存并重启
- 通过命令面板执行
Developer: Reload Window重启VS Code,加载最新配置。 - 若问题仍存在,关闭VS Code后删除缓存目录:
- Windows:
%APPDATA%\Code\Cache - Mac:
~/Library/Caches/Code - Linux:
~/.config/Code/Cache
清空后重新打开VS Code。
- Windows:
- 通过命令面板执行
检查版本兼容性
Prettier和prettier-plugin-solidity版本不兼容是常见问题:- Prettier 3.x版本需要搭配
prettier-plugin-solidity0.1.x及以上版本 - Prettier 2.x版本对应
prettier-plugin-solidity0.0.x版本
在package.json中指定兼容版本后执行npm install重新安装,例如:
"devDependencies": { "prettier": "^2.8.8", "prettier-plugin-solidity": "^0.0.19" }- Prettier 3.x版本需要搭配
内容的提问来源于stack exchange,提问作者bluetheta
相关产品推荐
相关产品推荐

