我正在使用 ESLint 插件运行 VSCode。我的项目包含一些自定义规则,它们位于特定目录中。
如果我从命令行运行 ESLint 并传入
--rulesdir=./custom-eslint-rules
一切都会按预期工作。
但是,我特别指的是编辑器本身中每个文件发生的 linting。在那里,它使用正常规则进行 lints,但显示错误,表明我的自定义规则的定义丢失。
如何配置 VSCode,以便每个文件的 linting 能够看到位于特定目录中的自定义规则定义?
在您的setting.json中:
"eslint.options": {
"rulePaths": "<path>"
}
参考:https://eslint.org/docs/developer-guide/nodejs-api#cliengine
编写自己的 eslint 插件并与 VS Code 兼容使用 🚀
yarn add --dev [email protected]
.eslintrc.js
导入
const rulesDirPlugin = require("eslint-plugin-rulesdir");
rulesDirPlugin.RULES_DIR = "src/rules"; // it is example
插件
plugins: [...,"rulesdir"]
规则
rules: {
...,
"rulesdir/no-get-payments": "error"
}
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