VS Code书写vue项目配置 eslint+prettier 统一代码风格
Vetur、ESLint、Prettier - Code formatterBeautify插件会占用格式化代码的快捷键,因此会和prettier产生冲突,所以直接禁用掉
vscode插件配置
我把配置写在了工作区设置,配置如下:
{ //.vue文件template格式化支持,并使用js-beautify-html插件 "vetur.format.defaultFormatter.html": "js-beautify-html", //js-beautify-html格式化配置,属性强制换行 "vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_attributes": "force-aligned" } }, //根据文件后缀名定义vue文件类型 "files.associations": { "*.vue": "vue" }, //配置 ESLint 检查的文件类型 "eslint.validate": [ "javascript", "javascriptreact", { "language": "vue", "autoFix": true } ], //保存时eslint自动修复错误 "eslint.autoFixOnSave": true, //保存自动格式化 "editor.formatOnSave": true, //开启 eslint 支持 "prettier.eslintIntegration": true, //使用单引号 "prettier.singleQuote": true, //结尾不加分号 "prettier.semi": false }
ESLint 和 Prettier 的冲突修复
由于需要同时使用prettier和eslint,而prettier的一些规则和eslint的一些规则可能存在冲突,例如prettier字符串默认是用双引号而esLint定义的是单引号的话这样格式化之后就不符合ESLint规则了。
所以要解决冲突就需要在Prettier的规则配置里也配置上和ESLint一样的规则,直接覆盖掉,ESLint和Prettier的配置文件内容如下:
.eslintrc.js
配置使用单引号、结尾不能有分号。
module.exports = { root: true, env: { node: true }, extends: ['plugin:vue/essential', 'eslint:recommended'], rules: { 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', //强制使用单引号 quotes: ['error', 'single'], //强制不使用分号结尾 semi: ['error', 'never'] }, parserOptions: { parser: 'babel-eslint' } }
.prettierrc
配置使用单引号、结尾不能有分号。
{ //开启 eslint 支持 "eslintIntegration": true, //使用单引号 "singleQuote": true, //结尾不加分号 "semi": false }
也可以直接在vscode工作区配置prettier
{ //开启 eslint 支持 "prettier.eslintIntegration": true, //使用单引号 "prettier.singleQuote": true, //结尾不加分号 "prettier.semi": false, }

浙公网安备 33010602011771号