在vscode插件中行下载三个插件如图
ESLint
Prettier - Code formatte
Vetur 因为使用了滴滴小程序开发框架,vetur高高版本不兼容,只能使用降低版本
点击左下角的设置,搜索eslint,就可以看到setting.json文件,打开进行eslin配置
{
"vetur.validation.template": false,
"window.zoomLevel": 0,
"editor.tabSize": 4,
"powermode.enabled": true, //启动效果
"powermode.presets": "flames", // flames 火花效果
"powermode.enableShake": false, // 关闭代码抖动
"minapp-vscode.disableAutoConfig": true,
"workbench.iconTheme": "material-icon-theme",
"workbench.colorTheme": "Material Theme High Contrast",
"files.associations": {
"*.cjson": "jsonc",
"*.wxss": "css",
"*.wxs": "javascript",
"*.mpx": "vue" // mpx文件关联到vue文件
},
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "aligned-multiple"
},
"prettyhtml": {
"printWidth": 800, // No line exceeds 100 characters
"singleQuote": false, // Prefer double quotes over single quotes
"wrapAttributes": true,
"sortAttributes": false
},
"prettier": {
// Prettier option here
"semi": false, // #去掉代码结尾的分号
"singleQuote": true, // #使用单引号替代双引号
"eslintIntegration": true // #让prettier使用eslint的代码格式进行校验
}
},
"vetur.format.defaultFormatter.js": "vscode-typescript",
"vetur.format.defaultFormatter.html": "js-beautify-html",
"eslint.validate": [
"javascript",
"javascriptreact",
// 新版
"typescript",
"typescriptreact",
"html",
"vue"
// 旧版
{
"language": "html",
"autoFix": true
},
{
"language": "vue",
"autoFix": true
}
],
"prettier.printWidth": 800,
"prettier.jsxBracketSameLine": false, // 在jsx中把'>' 是否单独放一行
"prettier.jsxSingleQuote": false, // 在jsx中使用单引号代替双引号
// jsx自动修复有问题,取消js的format
"editor.formatOnSave": false,
// Enable/disable default JavaScript formatter (For Prettier)
"javascript.format.enable": false,
"emmet.includeLanguages": {
"wxml": "html"
},
// 新版 自动格式化
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
// 旧版
"eslint.autoFixOnSave": true,
"editor.fontSize": 15,
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"prettier.tabWidth": 4,
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"eslint.options": {
"rules": {
"func-names": 0, //函数表达式必须有名字
"no-restricted-syntax": 0, // 禁止使用for in for of语法
"no-plusplus": 0, // 禁止使用++,--
"no-multi-spaces": 1, //不能用多余的空格
"no-underscore-dangle": [
"off",
"always"
], // 1, 标识符不能以_开头或结尾
"consistent-return": 0, //return 后面是否允许省略
"comma-spacing": 2, //逗号前后的空格
"comma-dangle": [
2,
"never"
], //对象字面量项尾不能有逗号
"key-spacing":2,//对象字面量中冒号的前后空格
"array-bracket-spacing": ["error","always"], // 数组前后空格
"camelcase": 0, // 2 强制驼峰法命名
"no-prototype-builtins": 0, //禁止直接调用 Object.prototypes 的内置属性
"no-mixed-operators": 0, // 禁止混合使用不同的操作符
"one-var": 0, //禁止使用连续声明
"no-var": 2,//禁用var,用let和const代替
"no-bitwise": 0, //禁止使用按位运算符
"no-restricted-globals": 0, // 禁用特定的全局变量
"no-multi-assign": 0, // 禁止连续赋值
"no-useless-escape": 0, // 禁用不必要的转义字符
"max-len": [
0,
100,
4
], //字符串最大长度
"import/prefer-default-export": 0,
"one-var-declaration-per-line": 0, //要求或禁止在变量声明周围换行
"prefer-const": 0,
"dot-location": 0, //对象访问符的位置,换行的时候在行首还是行尾
"react-hooks/exhaustive-deps": 0, // 禁止检查 Hook 的规则
},
},
"javascript.updateImportsOnFileMove.enabled": "always",
}