VSCode 不应该的格式更漂亮,javascript

问题描述

我已经解决了 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 是我在 vscode for Javascript 中保存的格式化程序。

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

但是,当所有内容都在一行时,我得到的 Linting 错误是... prettier 说有错误

所以,它是:

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

告诉我与其他运行/格式化程序存在冲突的原因是我在格式化程序实际上将其正确放回(prettier?)到单长线。

但是,我只有 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
    },

但是,我需要回去看看这对我使用的 golang、python、ruby、c++ 和其他语言有何影响。会回来汇报的。