Ubuntu系统VS Code中Prettier设为默认格式化工具失败如何解决
Ubuntu下VS Code设置Prettier为默认格式化工具报配置失败的修复方案
按以下顺序排查,绝大多数场景都能解决问题:
- 先修复插件目录权限
Ubuntu下如果之前用sudo启动过VS Code,会导致插件配置目录的所有者变成root,普通用户启动时Prettier没有权限读取配置文件就会直接报错,终端执行以下两条命令修复权限:sudo chown -R $USER:$USER ~/.config/Code/sudo chown -R $USER:$USER ~/.vscode/ - 修正Prettier路径与依赖问题
不要依赖Prettier插件的自动路径查找,Ubuntu环境下自动查找经常因为权限、nvm路径问题失效:- 如果是项目内使用,先在项目根目录执行
npm install --save-dev prettier安装本地依赖,避免全局、插件自带、本地三个版本的Prettier冲突 - VS Code设置页搜索
Prettier: Prettier Path,本地项目场景填${workspaceFolder}/node_modules/prettier,全局安装场景填终端执行which prettier返回的绝对路径 - 如果是用nvm管理Node版本,额外搜索
Prettier: Node Path,填入which node返回的Node绝对路径,避免插件找不到Node运行环境
- 如果是项目内使用,先在项目根目录执行
- 清除冲突的格式化配置
之前安装过其他格式化插件(比如Beautify、旧版ESLint格式化规则)会抢占默认格式化工具权限,导致Prettier配置写入失败:- 按Ctrl+Shift+P打开命令面板,执行
Preferences: Open User Settings (JSON) - 删除所有和
editor.defaultFormatter相关的旧配置,手动写入以下内容:
{ "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "prettier.requireConfig": false }- 如果是单个工作区报错,打开项目下
.vscode/settings.json,做同样的配置清理,避免工作区配置覆盖全局设置
- 按Ctrl+Shift+P打开命令面板,执行
- 重载验证
所有配置改完后,打开命令面板执行Developer: Reload Window重载VS Code窗口,再次尝试设置Prettier为默认格式化工具即可正常生效。
注意:不要用sudo权限日常启动VS Code,否则后续还会反复出现各类插件权限报错。
内容的提问来源于stack exchange,提问作者Opoku Isaiah Clifford
相关产品推荐
相关产品推荐

