{
"git.enableSmartCommit": true,
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"path-intellisense.mappings": {
"@": "${workspaceRoot}/src"
},
// eslint -----settings begin-----
// 保存之后进行lint
"eslint.run": "onType",
"eslint.options": {
"extensions": [".js", ".vue", ".jsx", ".tsx"]
},
// 是否启用eslint的调试模式
"eslint.debug": true,
// 保存文件时进行eslint修复(MacOS:快捷键是 command + s ),并不能修复所有问题,多数还是需要手动修复
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
// eslint -----settings end-----
"editor.tabSize": 2,
"security.workspace.trust.untrustedFiles": "open",
"liveServer.settings.donotShowInfoMsg": true,
"bracketPairColorizer.depreciation-notice": false,
"vsicons.dontShowNewVersionMessage": true,
// 从开发规范复制过来的
// 指定所有的文件使用 prettier 进行格式化
"editor.defaultFormatter": "esbenp.prettier-vscode",
// 指定 vue 文件使用 vetur 格式化
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
},
// 点击保存时候自动执行格式化
"editor.formatOnSave": true,
// 点击保存时候自动使用 ESLint 和 StyleLint fix 错误代码
"editor.codeActionsOnSave": {
"source.fixAll": true
// "source.fixAll.eslint": true,
// "source.fixAll.stylelint": true
},
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue"
]
}
// {
// "prettier.configPath": "C:\\Users\\Explorer\\.prettierrc",
// "eslint.alwaysShowStatus": true,
// "prettier.trailingComma": "none",
// "prettier.semi": false,
// // 每行文字个数超出此限制将会被迫换行
// "prettier.printWidth": 300,
// // 使用单引号替换双引号
// "prettier.singleQuote": true,
// "prettier.arrowParens": "avoid",
// // 设置 .vue 文件中,HTML代码的格式化插件
// "vetur.format.defaultFormatter.html": "js-beautify-html",
// "vetur.ignoreProjectWarning": true,
// "vetur.format.defaultFormatterOptions": {
// "prettier": {
// "trailingComma": "none",
// "semi": false,
// "singleQuote": true,
// "arrowParens": "avoid",
// "printWidth": 300
// },
// "js-beautify-html": {
// "wrap_attributes": false
// }
// },
// // ESLint 插件的配置
// "editor.codeActionsOnSave": {
// "source.fixAll": true,
// },
// // 导入文件时是否携带文件的扩展名
// "path-autocomplete.extensionOnImport": true,
// // 配置 @ 的路径提示
// "path-autocomplete.pathMappings": {
// "@": "${folder}/src"
// },
// "files.autoSave": "onWindowChange",
// "editor.tabSize": 2,
// // 关闭vscode自动更新提示
// "update.mode": "none",
// // beautify的设置*****start
// // 设置在保存文件时对代码进行格式化
// "editor.formatOnSave": true,
// "[javascript]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
// "[html]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
// "[vue]": {
// "editor.defaultFormatter": "esbenp.prettier-vscode"
// },
// "search.followSymlinks": false,
// "javascript.updateImportsOnFileMove.enabled": "always",
// "beautify.config": "",
// "beautify.language": {
// "html": [
// "htm",
// "html",
// "vue"
// ],
// "js": {
// "type": [
// "javascript",
// "json"
// ],
// "filename": [
// ".jshintrc",
// ".jsbeautify"
// ]
// },
// "css": [
// "css",
// "scss",
// "less"
// ]
// },
// // beautify的设置*****end
// "editor.quickSuggestions": null,
// // 括号的颜色
// "bracket-pair-colorizer-2.colors": [
// "Gold",
// "Orchid",
// "LightSkyBlue"
// ],
// "explorer.confirmDelete": false,
// "px2rem.rootFontSize": 24,
// "px2rem.isNeedNotes": false,
// "px2rem.autoRemovePrefixZero": false,
// "vsicons.dontShowNewVersionMessage": true,
// "liveServer.settings.donotShowInfoMsg": true,
// "liveServer.settings.donotVerifyTags": true,
// "git.enableSmartCommit": true,
// "git.confirmSync": false,
// "vetur.completion.autoImport": false,
// "auto-close-tag.activationOnLanguage": [
// "xml",
// "php",
// "blade",
// "ejs",
// "jinja",
// "javascript",
// "javascriptreact",
// "typescript",
// "typescriptreact",
// "plaintext",
// "markdown",
// "vue",
// "liquid",
// "erb",
// "lang-cfml",
// "cfml",
// "HTML (EEx)",
// "HTML (Eex)",
// "plist"
// ],
// "editor.fontSize": 14,
// "editor.lineHeight": 21,
// "explorer.confirmDragAndDrop": false,
// }
module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
},
env: {
browser: true,
node: true,
es6: true,
},
extends: ['plugin:vue/recommended', 'eslint:recommended'],
// add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue
rules: {
"vue/max-attributes-per-line": [2, {
"singleline": 10,
"multiline": {
"max": 1,
"allowFirstLine": false
}
}],
"vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline":"off",
"vue/name-property-casing": ["error", "PascalCase"],
"vue/no-v-html": "off",
'accessor-pairs': 2,
'arrow-spacing': [2, {
'before': true,
'after': true
}],
'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', {
'allowSingleLine': true
}],
'camelcase': [0, {
'properties': 'always'
}],
'comma-dangle': [2, 'never'],
'comma-spacing': [2, {
'before': false,
'after': true
}],
'comma-style': [2, 'last'],
'constructor-super': 2,
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}],
'generator-star-spacing': [2, {
'before': true,
'after': true
}],
'handle-callback-err': [2, '^(err|error)$'],
'indent': [2, 2, {
'SwitchCase': 1
}],
'jsx-quotes': [2, 'prefer-single'],
'key-spacing': [2, {
'beforeColon': false,
'afterColon': true
}],
'keyword-spacing': [2, {
'before': true,
'after': true
}],
'new-cap': [2, {
'newIsCap': true,
'capIsNew': false
}],
'new-parens': 2,
'no-array-constructor': 2,
'no-caller': 2,
'no-console': 'off',
'no-class-assign': 2,
'no-cond-assign': 2,
'no-const-assign': 2,
'no-control-regex': 0,
'no-delete-var': 2,
'no-dupe-args': 2,
'no-dupe-class-members': 2,
'no-dupe-keys': 2,
'no-duplicate-case': 2,
'no-empty-character-class': 2,
'no-empty-pattern': 2,
'no-eval': 2,
'no-ex-assign': 2,
'no-extend-native': 2,
'no-extra-bind': 2,
'no-extra-boolean-cast': 2,
'no-extra-parens': [2, 'functions'],
'no-fallthrough': 2,
'no-floating-decimal': 2,
'no-func-assign': 2,
'no-implied-eval': 2,
'no-inner-declarations': [2, 'functions'],
'no-invalid-regexp': 2,
'no-irregular-whitespace': 2,
'no-iterator': 2,
'no-label-var': 2,
'no-labels': [2, {
'allowLoop': false,
'allowSwitch': false
}],
'no-lone-blocks': 2,
'no-mixed-spaces-and-tabs': 2,
'no-multi-spaces': 2,
'no-multi-str': 2,
'no-multiple-empty-lines': [2, {
'max': 1
}],
'no-native-reassign': 2,
'no-negated-in-lhs': 2,
'no-new-object': 2,
'no-new-require': 2,
'no-new-symbol': 2,
'no-new-wrappers': 2,
'no-obj-calls': 2,
'no-octal': 2,
'no-octal-escape': 2,
'no-path-concat': 2,
'no-proto': 2,
'no-redeclare': 2,
'no-regex-spaces': 2,
'no-return-assign': [2, 'except-parens'],
'no-self-assign': 2,
'no-self-compare': 2,
'no-sequences': 2,
'no-shadow-restricted-names': 2,
'no-spaced-func': 2,
'no-sparse-arrays': 2,
'no-this-before-super': 2,
'no-throw-literal': 2,
'no-trailing-spaces': 2,
'no-undef': 2,
'no-undef-init': 2,
'no-unexpected-multiline': 2,
'no-unmodified-loop-condition': 2,
'no-unneeded-ternary': [2, {
'defaultAssignment': false
}],
'no-unreachable': 2,
'no-unsafe-finally': 2,
'no-unused-vars': [2, {
'vars': 'all',
'args': 'none'
}],
'no-useless-call': 2,
'no-useless-computed-key': 2,
'no-useless-constructor': 2,
'no-useless-escape': 0,
'no-whitespace-before-property': 2,
'no-with': 2,
'one-var': [2, {
'initialized': 'never'
}],
'operator-linebreak': [2, 'after', {
'overrides': {
'?': 'before',
':': 'before'
}
}],
'padded-blocks': [2, 'never'],
'quotes': [2, 'single', {
'avoidEscape': true,
'allowTemplateLiterals': true
}],
'semi': [2, 'never'],
'semi-spacing': [2, {
'before': false,
'after': true
}],
'space-before-blocks': [2, 'always'],
'space-before-function-paren': [2, 'never'],
'space-in-parens': [2, 'never'],
'space-infix-ops': 2,
'space-unary-ops': [2, {
'words': true,
'nonwords': false
}],
'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
}],
'template-curly-spacing': [2, 'never'],
'use-isnan': 2,
'valid-typeof': 2,
'wrap-iife': [2, 'any'],
'yield-star-spacing': [2, 'both'],
'yoda': [2, 'never'],
'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-curly-spacing': [2, 'always', {
objectsInObjects: false
}],
'array-bracket-spacing': [2, 'never']
}
}