ESLint 和 TypeScript 都在 VSCode 中报告重复警告

问题描述 投票:0回答:2

我设置了一个新的 React TypeScript 项目,然后使用配置提示符安装了 ESLint。我指定我的项目使用 React 和 TypeScript。

对于某些样式警告,我从 TypeScript 和 ESLint 中收到重复的警告。我怎样才能使 TypeScript 和 ESLint 警告不重叠?我是否必须手动从 ESLint 中删除一些规则,或者是否有预制的 .eslintrc 配置文件来解决这个问题?

enter image description here

typescript visual-studio-code eslint
2个回答
6
投票

您可以通过禁用

.eslintrc.js
(或
.eslintrc.json
等)中的规则来消除 ESLint 警告,如下所示:

..
rules: {
  'no-unused-vars': 'off',
  '@typescript-eslint/no-unused-vars': 'off',
  ..
}
..

但是,我个人更喜欢禁用 TypeScript 警告,因为 ESLint 规则更易于配置。要在 TypeScript 中禁用它,请在您的

tsconfig.json
:

中设置这些编译器选项
..
"compilerOptions": {
  "noUnusedLocals": false,
  "noUnusedParameters": false,
  ..
}
..

现在,您可以调整 ESLint 规则,使其不触发以

_
开头的标识符,方法是将其包含在您的
.eslintrc.js
中:

..
rules: {
  'no-unused-vars': 'off',
  '@typescript-eslint/no-unused-vars':
    ['warn', {argsIgnorePattern: '^_', varsIgnorePattern: '^_'}],
  ..
}

请注意,建议始终通过

no-unused-vars 文档
禁用基本规则 
@typescript-eslint/no-unused-vars
。有关
@typescript-eslint/no-unused-vars
所有选项的概述,请查看
no-unused-vars
文档
,因为选项是相同的。


0
投票

更改 IDE (VSCode) 设置以明确告诉它仅使用 ESLint 进行打字稿格式化,并禁用本机验证以防止重复警告。

对于 VSCode,添加/更改以下设置:

"typescript.validate.enable": false,    // disable native validation
"[typescript]": { 
  "editor.defaultFormatter": "dbaeumer.vscode-eslint"   // use eslint
}

请注意,tsconfig

compilerOptions
并不专门用于 linting 代码,更改这些选项可能会在以后引起问题,例如如果 linter 被贡献者绕过或者 ESLint 被完全从应用程序中删除。

© www.soinside.com 2019 - 2024. All rights reserved.