我的工作环境是这样的:
eslint.config.js
文件我正在使用here记录的新平面配置文件。文档说文件“[...]应该放置在项目的根目录中”。然而,我的项目根目录开始变得混乱,充斥着 Prettier、ShellCheck 等其他工具的许多其他配置文件。这就是为什么我想将我的
eslint.config.js
文件放在项目的 .config
目录下。由于我只有一个全局文件,不需要合并配置,因此这种方法适合我。
但是,文件解析会在 cwd 处查找文件,或者开始查找父目录,直到到达项目根目录。由于
.config
目录中没有我的代码,因此无法正确解析。
文档还建议,当从命令行调用
eslint
时,可以使用 --config
参数手动设置配置文件的路径。我想要在 VSCode 扩展中使用此参数的等效项,以便它从 .config/eslint.config.js
加载文件。
这个StackOverflow问题建议可以通过将其添加到VSCode来设置配置文件路径
settings.json
:
{
"eslint.options": { "configFile": "./.config/eslint.config.js" }
}
但是,当使用该选项运行时,扩展程序抱怨此设置已被删除:
Error: Invalid Options:
- Unknown options: configFile
- 'configFile' has been removed. Please use the 'overrideConfigFile' option instead.
解决方案是定义一个
overrideConfigFile
选项来指向 settings.json
中工作区中 ESLint 配置文件的位置,如下所示:
{
"eslint.options": { "overrideConfigFile": "./path/to/eslint.config.js" }
}
自 ESLint v8.x 起,VSCode 中的 ESLint 扩展使用 ESLint Class API 来“[...]配置 ESLint 的启动方式”。扩展名 documents “[...] 使用新的 ESLint API 指向自定义
.eslintrc.json
文件”如上所示。
为了更好的措施,由于使用的配置文件是新的平面配置文件,因此
eslint.useFlatConfig
设置也可以显式设置为 true
。在settings.json
:
{
"eslint.useFlatConfig": true
}
自扩展程序版本 3.0.5 起,此设置的激活方式如下: