VSCode:Prettier 不适用于 Dart Flutter

Posted

技术标签:

【中文标题】VSCode:Prettier 不适用于 Dart Flutter【英文标题】:VSCode: Prettier does not work with Dart Flutter 【发布时间】:2021-06-19 10:55:13 【问题描述】:

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

屏幕下方显示 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 设置为全局默认格式化程序或仅用于 javascript/JSON? 使用默认格式化程序设置。 【参考方案1】:

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


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

【讨论】:

所以,我刚刚添加了"editor.formatOnSave": false 这一行。它解决了问题!但是非常感谢您的帮助

以上是关于VSCode:Prettier 不适用于 Dart Flutter的主要内容,如果未能解决你的问题,请参考以下文章

Flutter/Dart 自动完成功能适用于 VS Code,但不适用于 Android Studio

Prettier 不适用于将可视代码中的双引号更改为单引号

VS Code Prettier - Code Formatter Extension 不适用于使用 Typescript 模板的 Create-React-App

Dart null 安全性不适用于类字段

Dio(Dart 的 Http 客户端)获取请求不适用于拦截器

VSCode Prettier 扩展 vs 命令行 Prettier