4

在过去的几天里,我一直在努力让这个工作,但没有运气,所以我希望这里有人可以提供一些帮助!

本质上,我使用的是 VueJS,我真的很喜欢 Airbnb 使用的 ESLint 规则,但我也想使用 prettier 进行格式化。(最大长度,缩进等......)所以,例如,而不是这样;

<li v-for="(item, index) in this.list" v-bind:key="index" v-if="showRandomFor">{{item}}</li>

会是这样;(或类似的东西) 应该是这样的

但是,我永远无法做到这一点。我试过使用eslint-config-prettierwhich 一点帮助都没有,因为即使将它包含到 eslint 配置中,仍然会应用更漂亮的规则(没有错误消息),所以我不确定如何处理这个。

非常感谢任何帮助,如果我可以提供任何其他信息或日志,请告诉我!

编辑:为了澄清,我看过其他帖子。但我似乎找不到涉及 VueJS 的。Vue 会导致 eslint/prettier 出现许多其他问题,所以请不要说我的问题与其他寻求帮助的人重复说反应。

4

1 回答 1

1

这个问题让我质疑我的人生选择,因为我发誓这更早。也许最新的 vs 代码更新改变了一些事情?

无论如何,当我们等待更好的东西时,这里有一个不那么漂亮的 vs-code 答案:

vs代码设置,:

{
  "vetur.validation.template": false,
  "prettier.eslintIntegration": true,
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "vue",
      "autoFix": true
    }
  ],
  "eslint.run": "onType",
  "eslint.autoFixOnSave": true
}

虽然autoFixOnSave工作,但无论如何我都无法editor.action.formatDocument收听我的 esconfig(这一定已经改变了,对吧?对吗??)那该怎么办?

我重新使用我的 formatDocument-key 来eslint.executeAutofix代替。它只通过一次(即使仍然存在错误),所以你有垃圾邮件密钥 - 这在 html 属性中尤其明显,但我猜这是。

这是我的 .eslintrc.js:

module.exports = {
  root: true,
  extends: [
    "plugin:vue/recommended",
    'airbnb'
  ],
  parserOptions: {
    parser: "babel-eslint", // I guess we have prettier using eslint using babel-eslint? :(
    sourceType: "module"
  },
};

当你发现更好的东西时不要忘记更新!

于 2018-06-18T06:04:58.277 回答