ESLint 可组装的 javaScript 和 JSX 检查工具。规范代码风格
官网:ESLint - 插件化的 JavaScript 代码检测工具 - ESLint中文文档
VSCode 自动格式化代码
ESLint安装
① 项目创建时 配置 ESLint
② 配置 .eslintrc.js 配置文件
-
"warn"或者1 //在打开的规则作为警告(不影响退出代码)
-
"error"或者2 //把规则作为一个错误(退出代码触发时为1)
ESLint规则:List of available rules - ESLint中文文档
③ 配置VSCode 插件
ESLint插件:自动格式化代码
Prettier - Code formatter插件:格式化文档
setting.json 配置
{
"editor.fontSize": 17, //编辑器字体大小
"[scss]": {
"editor.defaultFormatter": "michelemelluso.code-beautifier"
}, //scss格式化工具
"workbench.iconTheme": "vscode-icons", //vscode文件图标主题
//"terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", //默认终端shell
"go.formatTool": "goimports", //golang格式化工具
"editor.defaultFormatter": "esbenp.prettier-vscode", //编辑器格式化工具
"[javascript]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
}, //javascript格式化工具
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
}, //vue格式化工具
"editor.insertSpaces": false,
"workbench.editor.enablePreview": false, //打开文件不覆盖
"search.followSymlinks": false, //关闭rg.exe进程
"editor.minimap.enabled": false, //关闭快速预览
"files.autoSave": "afterDelay", //编辑自动保存
"editor.lineNumbers": "on", //开启行数提示
"editor.quickSuggestions": {
//开启自动显示建议
"other": true,
"comments": true,
"strings": true
},
"editor.tabSize": 2, //制表符符号eslint
"editor.formatOnSave": true, //每次保存自动格式化
"eslint.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"prettier.eslintIntegration": true, //让prettier使用eslint的代码格式进行校验
"prettier.semi": true, //去掉代码结尾的分号
"prettier.singleQuote": false, //使用单引号替代双引号
"javascript.format.insertSpaceBeforeFunctionParenthesis": true, //让函数(名)和后面的括号之间加个空格
"vetur.format.defaultFormatter.html": "js-beautify-html", //格式化.vue中html
"vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "force-aligned" //属性强制折行对齐
},
"prettier": {
"semi": false,
"singleQuote": true
},
"vscode-typescript": {
"semi": false,
"singleQuote": true
}
},
"eslint.validate": [
"vue",
// "javascript",
"typescript",
"typescriptreact",
"html"
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
// 导入文件时是否携带文件的拓展名
"path-autocomplete.extensionOnImport": true,
// 配置@的路径提示
"path-autocomplete.pathMappings": {
"@": "${folder}/src"
},
"workbench.colorTheme": "Default Dark+",
"powermode.enabled": true,
"liveServer.settings.CustomBrowser": "chrome",
"powermode.combo.threshold": 1,
"powermode.shake.enabled": false,
}