VSCode Prettier 扩展与命令行 Prettier

Pop*_*ash 6 visual-studio-code prettier

我有一个问题,即 VSCode 中的 HTML 文件格式“保存时”与使用命令行时 Prettier 的格式不同。

我的用户设置(更改这些值似乎没有任何区别):

{
    "[html]": {
        "editor.formatOnSave": true
    },
    "prettier.eslintIntegration": false,
    "html.format.enable": false
}
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行 Prettier 时,我的 HTML 格式如下:

prettier --write "./src/app/my-file.html"
Run Code Online (Sandbox Code Playgroud)

我的文件.html:

<a ng-hide="$last" href="" ng-click="doThis(thing)"
  >{{ crumb.title }}</a
>
Run Code Online (Sandbox Code Playgroud)

在 VSCode 中保存文件时的代码相同(允许 Prettier 扩展进行格式化):

<a ng-hide="$last" href="" ng-click="doThis(thing)">{{
  crumb.title
}}</a>
Run Code Online (Sandbox Code Playgroud)

我知道扩展程序已安装并可以正常工作,因为我在屏幕右下角看到了这个图标:

在此处输入图片说明

而且,当我将鼠标悬停在此图标上时,我会看到一个工具提示,上面写着prettier@1.16.3与我在命令行上安装的版本相同prettier -v

为什么我用这两种方法得到不同的结果?除了上述之外,我没有更改任何设置

Pop*_*ash 5

我需要创建一个.prettierrc包含以下内容的文件:

{
  "overrides": [
    {
      "files": "*.html",
      "options": {
        "parser": "html"
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

命令行使用html解析器,而 VSCode 使用angular解析器。这样它们都使用相同的.html文件解析器。

  • 祝福你找到这个!这几天我一直在苦苦思索这个问题。我的“prettier --check .”和“prettier --write .”与插件冲突。 (2认同)