vscode文件分层时找不到eslint配置问题
我的文件夹是这样的
-- root
-- server
-- web
server里用的是eslint5.16.0,没有任何问题
web因为是vuter+eslint9.9.1,就各种报错,项目越写越难受,最后忍不住查了一下到底怎么配置新版的vscode+eslint
版本:
vscode:1.92.2
eslint:9.9.1
vscode工作区.vscode文件夹里加上一个文件settings.json,内容:
{
"eslint.workingDirectories": [
{ "directory": "./web", "changeProcessCWD": true }
]
}
这是把这个工作区的eslint引向./web
然后发现新版eslint的配置完全不一样了,用的不是.eslintrc.js和.eslintignore,而是一个eslint.config.js文件,这个文件在web下
// eslint.config.js
const pluginVue = require('eslint-plugin-vue');
module.exports = [
{
ignores: ['node_modules/**/*'],
},
// add more generic rulesets here, such as:
// js.configs.recommended,
...pluginVue.configs['flat/recommended'],
// ...pluginVue.configs['flat/vue2-recommended'], // Use this if you are using Vue.js 2.x.
{
files: ['**/*.js', '**/*.vue'],
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
'vue/html-indent': ['error', 'tab'], // enforce tabs in template
'vue/multi-word-component-names': 0,
'vue/singleline-html-element-content-newline': 'off',
'vue/multiline-html-element-content-newline': 'off',
'vue/max-attributes-per-line': 'off',
'vue/no-v-model-argument': 'off',
'vue/html-closing-bracket-newline': 'off',
'vue/html-indent': 'off',
'multiline': 'off',
'vue/first-attribute-linebreak': 'off',
'no-return-await': 'off',
'camelcase': 'error',
'no-console': 'off',
'no-tabs': 'off', // 确保不禁用制表符
// indent: [
// 'error',
// 'tab', // 将缩进设置为使用制表符
// {
// SwitchCase: 1,
// },
// ],
'linebreak-style': ['error', 'unix'],
quotes: ['warn', 'single'],
semi: ['warn', 'always'],
'space-before-function-paren': 'off',
'no-multiple-empty-lines': 'off',
},
}
];