vscode 配置vue+vetur+eslint+prettier自动格式化功能


Posted in Javascript onMarch 23, 2020

该配置用于vue开发,最终效果是保存时自动根据eslint对js、html和css代码进行格式化。

vscode Vetur插件

Vetur插件用于识别vue文件,原本vetur自带格式化功能,但是和eslint会有冲突,所以没用上。

vscode 配置vue+vetur+eslint+prettier自动格式化功能 

vscode ESlint插件

Eslint插件用于根据工程目录的.eslintrc.js配置文件在编辑器中显示一些错误提示,后面的自定格式化根据这里的错误提示进行格式化操作。

vscode 配置vue+vetur+eslint+prettier自动格式化功能 

基于vue-cli创建的项目 以下相关步骤需要注意:

创建的时候把Linter/Formatter选上(默认已选上)

vscode 配置vue+vetur+eslint+prettier自动格式化功能

下一步选择Eslint+Prettier

vscode 配置vue+vetur+eslint+prettier自动格式化功能

下一步选择Lint on save (在编辑保存之后根据对代码格式进行检测)

vscode 配置vue+vetur+eslint+prettier自动格式化功能

下一步选择In dedicated config files(将eslint和prettier的配置抽离到独立的文件中)

vscode 配置vue+vetur+eslint+prettier自动格式化功能 

创建完在package.json里面可看到和eslint与prettier相关的依赖

vscode 配置vue+vetur+eslint+prettier自动格式化功能

在.eslintrc.js可以看到总体的eslint规则合并了vue、eslint和prettier的一些插件库进行语法分析(eslint针对js,vue、prettier针对js、html和css,这里eslint和prettier的一些冲突已经处理)

vscode 配置vue+vetur+eslint+prettier自动格式化功能 

到这一步,编译的时候就能看到eslint报错和警告了,但是还不能实现保存自动格式化功能。

vscode 配置vue+vetur+eslint+prettier自动格式化功能 

在文件根目录下创建.prettierrc对prettier格式化进行自定义规则设置,以下为我添加的规则

{
 /* 单引号包含字符串 */
 "singleQuote": true,
 /* 不添加末尾分号 */
 "semi": false,
 /* 在对象属性添加空格 */
 "bracketSpacing": true,
 /* 优化html闭合标签不换行的问题 */
 "htmlWhitespaceSensitivity": "ignore"
}

在用户设置添加自定义设置

mac中的位置

vscode 配置vue+vetur+eslint+prettier自动格式化功能

根据需要选择全局(User)或者工程(Workspace)的配置,点击右上角的编辑按钮,打开settings.json文件

vscode 配置vue+vetur+eslint+prettier自动格式化功能

添加以下配置,使编辑器在保存时自动eslint规则格式化

"editor.codeActionsOnSave": {
 "source.fixAll": true
},
/* 关闭编辑器自带保存格式化功能,此功能会用Vetur进行格式化。*/
"editor.formatOnSave": false

这是我自己的自定义配置

vscode 配置vue+vetur+eslint+prettier自动格式化功能 

非vue-cli创建的项目

单独引入以下红框中的几个依赖

vscode 配置vue+vetur+eslint+prettier自动格式化功能

添加vscode Vetur和ESlint, .eslintrc.js、.prettierrc 和 settings.json的内容和上面一样,这样就可以实现保存自动根据eslint进行格式化了。

总结

引入eslint、vue和prettier的一些相关的依赖

@vue/cli-plugin-eslint
@vue/eslint-config-prettier
babel-eslint
eslint
eslint-plugin-prettier
eslint-plugin-vue
prettier
  • 安装vscode Vetur和ESlint插件
  • 配置.eslintrc.js文件
  • 配置.prettierrc文件
  • 配置.settings.json文件

到此这篇关于vscode 配置vue+vetur+eslint+prettier自动格式化功能的文章就介绍到这了,更多相关vscode vue vetur eslint prettier内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
Javascript的构造函数和constructor属性
Jan 09 Javascript
Jquery中的层次选择器与find()的区别示例介绍
Feb 20 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
js使用setTimeout实现定时炸弹的方法
Apr 10 Javascript
深入了解JavaScript中的Symbol的使用方法
Jul 28 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
Oct 22 Javascript
angularjs通过过滤器返回超链接的方法
Oct 26 Javascript
vue-router的使用方法及含参数的配置方法
Nov 13 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
JavaScript实现联动菜单特效
Jan 07 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
Mar 23 #Javascript
vue ssr+koa2构建服务端渲染的示例代码
Mar 23 #Javascript
详解webpack-dev-middleware 源码解读
Mar 23 #Javascript
vscode调试node.js的实现方法
Mar 22 #Javascript
如何优雅地取消 JavaScript 异步任务
Mar 22 #Javascript
Vue-cli3多页面配置详解
Mar 22 #Javascript
redux处理异步action解决方案
Mar 22 #Javascript
You might like
php实现事件监听与触发的方法
2014/11/21 PHP
php实现的操作excel类详解
2016/01/15 PHP
Thinkphp微信公众号支付接口
2016/08/04 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
Javascript倒计时代码
2010/08/12 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
2013/12/11 Javascript
JS常用函数使用指南
2014/11/23 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
DJI大疆德国官方商城:大疆无人机
2018/09/01 全球购物
计算机专业自荐信
2013/10/14 职场文书
社区学习十八大感想
2014/01/22 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
开发房地产协议书
2014/09/14 职场文书
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server