typescript 如何让prettier和eslint在大括号样式和缩进上协同工作?

b91juud3  于 2022-12-24  发布在  TypeScript
关注(0)|答案(1)|浏览(223)

我为一个新项目启用了prettier和eslint,缩进和大括号样式会自动转换为正确的格式,除了这个新遇到的情况:

export default class BaseTextMixin
  implements BaseTextMixinType
{
  readTextFile(this: BaseType, link: string): string {
    return (
      this.text_mesh.get(link) ?? fs.readFileSync(link, 'utf-8')
    )
  }
}

它显示:

第一个错误是:
应缩进0个空格,但找到2个。eslint indent
第二个错误是:
左大括号与控制语句不在同一行。eslint brace-style
我在我的.eslintrc.json中有这个:

"rules": {
  "curly": 2,
  "brace-style": ["error", "1tbs"],
  "indent": ["error", 2, { "SwitchCase": 1 }]
  // ...
}

在我的.prettierrc.json中有这样的代码:

{
  "semi": false,
  "trailingComma": "all",
  "singleQuote": true,
  "printWidth": 64,
  "tabWidth": 2,
  "useTabs": false,
  "arrowParens": "avoid",
  "quoteProps": "as-needed",
  "bracketSpacing": true,
  "proseWrap": "always",
  "endOfLine": "lf",
  "singleAttributePerLine": true,
  "prettierPath": "./node_modules/prettier"
}

既然line-length太长了(它遵守pretier的行长规则),我如何让它接受这种格式?也就是说,接受缩进:

export default class BaseTextMixin
  implements BaseTextMixinType
{

我需要换些更漂亮的,或者是埃斯林特的吗?

ctehm74n

ctehm74n1#

您需要为eslint设置eslint-config-prettierplugin。这将禁用任何现有eslint插件提供的所有格式规则。
此外,您需要删除所有配置格式的eslint规则,并让prettier来处理这一切。

相关问题