如何使eslint / vscode-eslint停止掉毛.eslintrc?

时间:2019-03-14 01:45:16

标签: javascript eslint eslintrc eslintignore

问题

我的VS Code PROBLEMS窗格中有很多“问题”,来自eslint抱怨我的.eslintrc遇到各种JSON问题。在VS Code之外添加目录不会显示.eslintrc问题。我的.eslintrc.eslintignore文件在我的工作空间目录中(与我的.vscode目录相同的位置。

我尝试过的事情

我尝试将以下条目添加到我的.eslintignore文件中:

  1. **/.*
  2. **/.eslintrc
  3. .eslintrc
  4. ./.eslintrc

但是它们都不能阻止VS Code在文件编辑器以及“问题”窗格中显示错误。

我已经在VS Code中的排除文件设置中添加了.eslintrc,然后在“问题”窗格中激活了排除文件过滤器,但是我不想从“浏览器”窗格中隐藏文件。

问题

当在VS Code内衬时,如何强制VS Code / ESLint / vscode-eslint /罪魁祸首忽略我的.eslintrc

.eslintrc

{
  extends: 'airbnb',
  parser: 'babel-eslint',
  plugins: [
    'react',
    'jest',
  ],
  env: {
    browser: true,
    node: true,
    es6: true,
    jest/globals: true,
  },
  globals: {
    LOGGING_ENDPOINT: false,
    $: false,
    beautify: false,
    testContext: false,
    page: false,
  },
  settings: {
    react: {
      pragma: 'h',
    },
  },
  rules: {
    import/no-extraneous-dependencies: 'off',
    import/no-unresolved: ['error', { ignore: ['^react$', '^react-dom$'] }],
    import/extensions: 'off',
    react/react-in-jsx-scope: 'off',
    no-underscore-dangle: 'off',
    react/no-danger: 'off',
    no-unused-vars: ['error', { varsIgnorePattern: 'React' }],
    react/require-default-props: 'off',
    function-paren-newline: 'off',
    import/no-named-as-default: 'off',
    object-curly-newline: 'off',
    jest/no-focused-tests: 'error',
  },
}

谢谢!

解决方案

问题是我的.eslintrc采用了怪异的JSON格式,并且当ESLint很好地阅读它时,VS Code告诉了我所有问题。一旦将其正确格式化为JSON,VS Code就停止抱怨了。

1 个答案:

答案 0 :(得分:2)

我认为您的问题与VS Code而不是ESLint最为相关。

  

.eslintrc文件用于设置ESLint的规则和配置。

您可以打开VS Code用户设置或工作区设置( Ctrl + Shift + P >首选项:打开用户设置),然后添加一些规则,以便VS Code可以忽略某些文件,例如

  "eslint.options": {
    "extensions": [".js", ".jsx"]
  },
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
  ],

查看有关vscode-eslint扩展名的更多详细信息。


此外,如果要在保存文件时添加自动修复,则可以在用户/工作区设置中添加以下内容:

  "files.autoSave": "off",
  "editor.formatOnSave": true,
  "eslint.autoFixOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": true,
    "source.organizeImports": true
  },