1

我已经解决了 ESLint 和 Prettier 之间的几乎所有冲突。然而,我最近遇到了一个让我难过的问题。

const data = await userManager
    .getUsers()
    .orderBy('joinedDate', 'desc')
    .limit(20)
    .get();

我非常喜欢上面的这种格式,prettier看起来也是如此。

问题:保存文件时,它被格式化回:

const data = await userManager.getUsers().orderBy('joinedDate', 'desc').limit(20).get();

我感到困惑的是,这prettier是我在 Javascript 的 vscode 中保存的格式化程序。

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

但是,当它全部在一条线上时,我得到的 Linting 错误是......prettier说有一个错误。

所以是 :

  • 漂亮的说有一个错误。
  • 我使用 prettier “快速修复”它回到多行修复
  • 但是当我“保存”文档时,它会通过使用格式化程序返回到一行 - 更漂亮?

什么告诉我与其他正在运行/格式化的东西存在冲突,我在格式化程序实际上将其正确放回(prettier?)之间的保存时获得了“闪存”,但随后它被第二次格式化回单个长行。

但是,我只有 1 个格式化程序?

4

1 回答 1

1

经过一些挖掘和实验,这似乎是设置的组合,以使其prettier与 es6 linter 一起正常工作。

// vscode's settings.json
//
    "editor.formatOnSave": false,
    "editor.defaultFormatter": null,
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "editor.codeActionsOnSave": {
        "source.fixAll": true
    },
于 2021-05-26T19:01:06.060 回答