解决缩进报错问题常用设置:
1.文件->首选项->设置->扩展->eslint->在settings.json中编辑:
"eslint.codeAction.disableRuleComment": {
// vscode默认启用了根据文件类型自动设置tabsize的选项
"editor.detectIndentation": false,
// 重新设定tabsize
"editor.tabSize": 2,
// #每次保存的时候自动格式化
"editor.formatOnSave": true,
// #每次保存的时候将代码按eslint格式进行修复
"eslint.autoFixOnSave": true,
// 添加 vue 支持
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "vue",
"autoFix": true
}
],
// #让prettier使用eslint的代码格式进行校验
"prettier.eslintIntegration": true,
// #去掉代码结尾的分号
"prettier.semi": false,
// #使用带引号替代双引号
"prettier.singleQuote": true,
// #让函数(名)和后面的括号之间加个空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
// #这个按用户自身习惯选择
"vetur.format.defaultFormatter.html": "js-beautify-html",
// #让vue中的js按编辑器自带的ts格式进行格式化
"vetur.format.defaultFormatter.js": "vscode-typescript",
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "force-aligned"
// #vue组件中html代码格式化样式
}
},
// 格式化stylus, 需安装Manta's Stylus Supremacy插件
"stylusSupremacy.insertColons": false, // 是否插入冒号
"stylusSupremacy.insertSemicolons": false, // 是否插入分好
"stylusSupremacy.insertBraces": false, // 是否插入大括号
"stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
"stylusSupremacy.insertNewLineAroundBlocks": false,
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue" // 两个选择器中是否换行
},
2.配置 .eslintrc.js 规则:
module.exports = {
root: true,
env: {
node: true
},
extends: [
'plugin:vue/essential',
'@vue/standard'
],
parserOptions: {
parser: 'babel-eslint'
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
// allow async-await
'generator-star-spacing': 'off',
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
/*
0 或’off’: 关闭规则。
1 或’warn’: 打开规则,并且作为一个警告,字体颜色为黄色(并不会导致检查不通过)。
2 或’error’:打开规则,并且作为一个错误 ,色体颜色为红色(退出码为1,检查不通过)。
*/
// 以下为该项目自定义部分
'indent': [2, 4], //缩进风格 - 开启缩进4格
'no-spaced-func': 2, //函数调用时 函数名与()之间不能有空格 - 开启
'no-const-assign': 2, //禁止修改const声明的变量 - 开启
'space-before-function-paren': [0, 'always'], //函数定义时括号前面要有空格 - 关闭
'eol-last': 0, //文件以单一的换行符结束 - 关闭
'camelcase': 0, //强制驼峰法命名 - 关闭
'no-undef': 0, //不能有未定义的变量 - 关闭
'no-alert': 0, //禁止使用alert confirm prompt - 关闭
'arrow-parens': 0, //箭头函数用小括号括起来 - 关闭
}
}
3.配置.editorconfig规则:
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
root = true // 让这个文件生效
[*] // 对所有文件都生效
charset = utf-8 // 编码
indent_style = space // 缩进'tabs键',如果习惯用空格可以设为'space'
indent_size = 2 // 缩进的尺寸
end_of_line = lf // 换行符格式(开发系统差异)
insert_final_newline = true // 是否在文件的最后插入一个空行
trim_trailing_whitespace = true // 是否删除行尾的空格
配置完成后解决问题:
网友评论