VSCode:Prettier 不适用于 Dart Flutter

问题描述

我正在使用 DartNode.js。我尝试使用 Node.js 自动格式化 Prettier。但是,VSCode 会自动格式化 Dart 文件,但不会使用 JavaScript 格式化 Prettier

enter image description here

在屏幕下方,它写着 Prettier on JavaScript。当我触摸该设置并将其设置为 Prettier 以进行自动格式化时,Prettier 工作并且它自动格式化 JS 文件Dart 自动格式化不起作用。

如何设置 VSCode 自动格式化 Dart 和 JS 文件,而无需每次都切换设置?

VSCode 设置

{
    "workbench.colorTheme": "Visual Studio Dark","[dart]": {
        "editor.formatOnSave": true,"editor.formatOnType": true,"editor.rulers": [
            80
        ],"editor.selectionHighlight": false,"editor.suggest.snippetsPreventQuickSuggestions": false,"editor.suggestSelection": "first","editor.tabCompletion": "onlySnippets","editor.wordBasedSuggestions": false
    },"workbench.preferredHighContrastColorTheme": "Default Dark+","files.autoSave": "afterDelay","editor.minimap.enabled": false,"dart.openDevTools": "Flutter","explorer.confirmDragAndDrop": false,"[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    }
}

解决方法

不要将 Prettier 设置为 VS Code 的全局默认格式化程序。设置为仅作为 Javascript 相关的默认格式化程序。打开您的设置 JSON 并添加以下内容:

{
  ...
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },"[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },"[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}