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 相关文章推荐
jQuery不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
Feb 05 Javascript
Perl Substr()函数及函数的应用
Dec 16 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
EasyUI为Numberbox添加blur事件的方法
Mar 05 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
JS FormData上传文件的设置方法
Jul 05 Javascript
vue-cli创建的项目,配置多页面的实现方法
Mar 15 Javascript
微信小程序实现的一键复制功能示例
Apr 24 Javascript
elementUI table表格动态合并的示例代码
May 15 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
Jul 17 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 Vue.js
云服务器部署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中for循环语句的几种变型
2007/03/16 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
js left,right,mid函数
2008/06/10 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
React数据传递之组件内部通信的方法
2017/12/31 Javascript
使用post方法实现json往返传输数据的方法
2019/03/30 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
Python入门之三角函数atan2()函数详解
2017/11/08 Python
Python处理文本换行符实例代码
2018/02/03 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
Python 使用type来定义类的实现
2019/11/19 Python
python创建学生成绩管理系统
2019/11/22 Python
HTML5 Canvas 绘图——使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
2015/08/31 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
幼儿园小班教师寄语
2014/04/03 职场文书
交通文明倡议书
2014/05/16 职场文书
布达拉宫导游词
2015/02/02 职场文书
Python基础之数据结构详解
2021/04/28 Python
Python Django ORM连表正反操作技巧
2021/06/13 Python
如何利用Python实现一个论文降重工具
2021/07/09 Python