eslint自动保存自动fix配置(eslint插件setting.json配置)
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.fixAll.eslint": true
}
"eslint.quiet": true
.eslintrc.cjs配置
module.exports = {
root: true,
env: {
browser: true,
es2021: true,
es6: true,
node: true,
},
extends: ['plugin:vue/vue3-essential', 'eslint:recommended', 'prettier', 'plugin:prettier/recommended'],
overrides: [],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
parser: '@typescript-eslint/parser',
},
plugins: ['vue', '@typescript-eslint'],
rules: {
'no-var': 'error',
'no-multiple-empty-lines': ['error', { max: 1 }],
'no-use-before-define': 'off',
'prefer-const': 'off',
'no-irregular-whitespace': 'off',
'@typescript-eslint/no-unused-vars': 'error',
'@typescript-eslint/no-inferrable-types': 'off',
'@typescript-eslint/no-namespace': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/ban-ts-ignore': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-empty-function': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'vue/no-v-html': 'off',
'vue/script-setup-uses-vars': 'error',
'vue/v-slot-style': 'error',
'vue/no-mutating-props': 'off',
'vue/custom-event-name-casing': 'off',
'vue/attributes-order': 'off',
'vue/one-component-per-file': 'off',
'vue/html-closing-bracket-newline': 'off',
'vue/max-attributes-per-line': 'off',
'vue/multiline-html-element-content-newline': 'off',
'vue/singleline-html-element-content-newline': 'off',
'vue/attribute-hyphenation': 'off',
'vue/require-default-prop': 'off',
'vue/multi-word-component-names': 'off',
},
}
.prettierr.cjs配置
module.exports = {
printWidth: 120,
tabWidth: 4,
useTabs: false,
semi: false,
singleQuote: true,
quoteProps: 'as-needed',
jsxSingleQuote: false,
trailingComma: 'all',
bracketSpacing: true,
jsxBracketSameLine: false,
arrowParens: 'always',
rangeStart: 0,
rangeEnd: Infinity,
requirePragma: false,
insertPragma: false,
proseWrap: 'never',
htmlWhitespaceSensitivity: 'ignore',
endOfLine: 'auto',
};