windows 下 ctrl+alt + F 格式化的时候弹框提示: there are multiple formatters for 'javascript

425 阅读2分钟

在 Visual Studio Code (VSCode) 中,出现“there are multiple formatters for 'javascript' files, one of them should be configured as default formatter” 提示,是因为你安装了多个格式化工具(如 Prettier 和 ESLint),但没有配置默认的格式化工具。你需要指定一个默认的格式化工具来解决这个问题。

设置默认格式化工具

  1. 打开 VSCode 的设置(可以通过按 Ctrl + , 或者 File > Preferences > Settings)。
  2. 搜索 default formatter
  3. 在结果中找到 Editor: Default Formatter
  4. 从下拉菜单中选择你想要的默认格式化工具(如 Prettier)。

配置 settings.json

你也可以直接在 settings.json 文件中进行配置:

  1. 打开命令面板(按 Ctrl + Shift + P)。
  2. 输入 Preferences: Open Settings (JSON) 并选择该选项。
  3. 添加以下配置来设置默认的格式化工具:
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",  // 使用 Prettier 作为默认格式化工具
  "editor.formatOnSave": true,  // 保存时自动格式化
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

你需要根据你安装的格式化工具的名称进行调整,以下是常见格式化工具的标识符:

  • Prettier: esbenp.prettier-vscode
  • ESLint: dbaeumer.vscode-eslint

安装 Prettier 和 ESLint

如果你还没有安装这些插件,可以通过以下步骤安装:

  1. 打开扩展市场(可以通过按 Ctrl + Shift + X 或者 View > Extensions)。
  2. 搜索并安装 Prettier - Code formatterESLint 插件。

检查插件的冲突

有时候多个格式化工具可能会产生冲突,你可以禁用不需要的格式化插件,只保留你想要的默认格式化工具。

  1. 打开扩展市场(Ctrl + Shift + X)。
  2. 搜索已安装的格式化工具。
  3. 禁用你不需要的格式化插件。

完整的示例配置

以下是一个完整的 VSCode 配置示例,设置 Prettier 作为默认格式化工具,并配置 ESLint 检查代码质量:

{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "eslint.alwaysShowStatus": true,
  "eslint.format.enable": true,
  "eslint.options": {
    "extensions": [".js", ".jsx", ".ts", ".tsx"]
  },
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
  ]
}

这个配置确保 Prettier 作为默认格式化工具,并在保存文件时自动格式化代码,同时启用 ESLint 进行代码检查。