VSCode: Prettier 不适用于 Dart Flutter

VSCode: Prettier does not work with Dart Flutter

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

在屏幕下方,JavaScript 上写着 Prettier。当我触摸设置并将其设置为 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"
    }
}

!!!!解决方案

"editor.defaultFormatter": "Dart-Code.dart-code",

您需要将此行添加到 setting.json Dart 部分。然后将您的默认格式化程序设置为更漂亮!

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

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