如何将ESLInt自定义规则目录添加到VSCode

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

我正在使用 ESLint 插件运行 VSCode。我的项目包含一些自定义规则,它们位于特定目录中。

如果我从命令行运行 ESLint 并传入

--rulesdir=./custom-eslint-rules
一切都会按预期工作。

但是,我特别指的是编辑器本身中每个文件发生的 linting。在那里,它使用正常规则进行 lints,但显示错误,表明我的自定义规则的定义丢失。

如何配置 VSCode,以便每个文件的 linting 能够看到位于特定目录中的自定义规则定义?

eslint visual-studio-code eslintrc
2个回答
7
投票

在您的setting.json中:

"eslint.options": {
  "rulePaths": "<path>"
}

参考:https://eslint.org/docs/developer-guide/nodejs-api#cliengine


3
投票

编写自己的 eslint 插件并与 VS Code 兼容使用 🚀

  1. 安装
    [email protected]
yarn add --dev [email protected]
  1. 添加到
    .eslintrc.js

导入

const rulesDirPlugin = require("eslint-plugin-rulesdir");
rulesDirPlugin.RULES_DIR = "src/rules"; // it is example

插件

plugins: [...,"rulesdir"]

规则

rules: {
  ...,
  "rulesdir/no-get-payments": "error"
}
  1. 创建规则文件
    src/rules/no-get-payments.js
module.exports = {
  create: function (context) {
    return {
      CallExpression: function (node) {
        if (node.callee.name === "getPayments") {
          context.report({
            node: node,
            message: "getPayments is deprecated! ",
          });
        }
      },
    };
  },
};

u200c

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