该配置用于vue2 + js开发,最终效果是保存时自动根据eslint对js、html和css代码进行格式化。
vscode Vetur插件
Vetur插件用于识别vue文件,原本vetur自带格式化功能,但是和eslint会有冲突,所以我们在项目中会关闭vscode的自动格式化功能。
vscode ESlint插件
Eslint插件用于根据工程目录的.eslintrc.js配置文件在编辑器中显示一些错误提示,后面的自动格式化根据这里的错误提示进行格式化操作。
vscode Prettier插件
注意,这个是要禁用掉的,我们会使用prettier库进行格式化处理,开启Perttier插件会产生干扰。
基于vue-cli创建的项目
以下相关步骤需要注意:
手动选择配置
把Linter/Formatter选上(默认已选上)
选择vue2版本
选择格式化搭配为Eslint+Prettier
选择Lint on save (在编辑保存之后自动对代码进行格式化)
选择In dedicated config files(将eslint和prettier的配置抽离到独立的文件中)
创建完在package.json里面可看到和eslint与prettier相关的依赖
在.eslintrc.js可以看到合并了eslint和prettier的格式化规则(eslint针对js,prettier针对js、html和css),并且已经通过处理好了eslint和prettier的规则冲突。
module.exports = {
root: true,
env: {
node: true,
},
extends: [
"plugin:vue/essential",
"eslint:recommended",
"plugin:prettier/recommended",
],
parserOptions: {
parser: "@babel/eslint-parser",
},
rules: {
"no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
"no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
},
};
到这一步,编译的时候在vscode代码中和终端中都能看到格式报错提示了,但是还不能实现保存自动格式化。
在用户设置添加自定义设置
mac中的位置
根据需要选择全局(User)或者工程(Workspace)的配置,点击右上角的编辑按钮,打开settings.json文件
添加以下配置,使编辑器在保存时自动根据eslint规则格式化
"editor.codeActionsOnSave": {
"source.fixAll": true
},
/* 关闭编辑器自带保存格式化功能,此功能会用Vetur进行格式化。*/
"editor.formatOnSave": false
到这里,保存完之后,就会自动进行代码格式化了
默认格式化规则可能不是我们想要的,可以在文件根目录下创建.prettierrc对prettier格式化进行自定义规则设置,以下为我添加的规则
{
/* 使用单引号包含字符串 */
"singleQuote": true,
/* 不添加行尾分号 */
"semi": false,
/* 在对象属性添加空格 */
"bracketSpacing": true,
/* 优化html闭合标签不换行的问题 */
"htmlWhitespaceSensitivity": "ignore"
}
非vue-cli创建的项目
添加eslint和prettier相关的依赖
npm i @babel/eslint-parser @vue/cli-plugin-eslint eslint eslint-config-prettier eslint-plugin-prettier eslint-plugin-vue prettier -D
添加vscode Vetur和ESlint插件, .eslintrc.js、.prettierrc 和 settings.json的内容和上面一样,这样就可以实现保存自动根据eslint进行格式化了。
总结
- 引入eslint、vue和prettier的一些相关的依赖
- 安装vscode Vetur和ESlint插件
- 配置.eslintrc.js文件
- 配置.prettierrc文件
- 配置settings.json文件
今天的文章vscode 配置vue+vetur+eslint+prettier自动格式化功能分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/17507.html