在VSCode中为TypeScript和JavaScript使用不同的.eslintrc配置文件?

6

我有一个JS和TS文件的项目(还有JSX / TSX)。 我有一个单独的.eslintrc.json文件来区分JS和TS。 我想能够根据文件扩展名告诉VSCode使用哪个eslint配置文件。

尝试将设置放在settings.json[typescript]字段下,但这并没有起作用。

1个回答

4
我认为可以使用一个文件和overrides选项来实现: .eslintrc.js
module.exports = {
    "root": true,
    "plugins": ["@typescript-eslint"],
    "rules": {
        // JavaScript rules
    },
    "overrides": [
        {
            "files": ["*.ts", "*.tsx"],
            "parser": "@typescript-eslint/parser",
            "parserOptions": {
                "project": "./tsconfig.json"
            },
            "plugins": [
                "@typescript-eslint"
            ],
            "rules": {
                // TypeScript rules
            }
        }
    ]
}

修改工作区设置:

"eslint.validate": [
    {
        "language": "typescript",
        "autoFix": true
    },
    {
        "language": "typescriptreact",
        "autoFix": true
    }
]

嘿,Alex,感谢你的回复。不幸的是,我在我的.eslintrc.json文件中使用了extends指令,看起来我不能将其放在覆盖部分(但我希望我的js和ts文件有不同的extends)。 - Octodone
1
我以为 extends 支持 overrides https://github.com/eslint/eslint/issues/8813 - Alex
1
你说得对。在版本6之前,我使用的是版本5。谢谢,接受了你的答案。 - Octodone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接