Vue项目vscode 安装eslint插件的方法(代码自动修复)


Posted in Javascript onApril 15, 2020

ESlint:是用来统一JavaScript代码风格的工具,不包含css、html等。

方法和步骤:

通常情况下vue项目都会添加eslint组件,我们可以查看webpack的配置文件package.json查看,也可以查看工程下是否有.eslintrc.js和.eslintignore查看到eslint是否开启。

Vue项目vscode 安装eslint插件的方法(代码自动修复)

Vue项目vscode 安装eslint插件的方法(代码自动修复)

当我们编写不符合eslint规范的代码时,启动项目会报错,比如

Vue项目vscode 安装eslint插件的方法(代码自动修复)

这个时候可以安装vscode eslint插件,就可以自动检测不符合规范的代码。打开vscode左侧扩展面板,搜索eslint,点击安装,重启后生效

Vue项目vscode 安装eslint插件的方法(代码自动修复)

安装好之后,还需要在vscode文件中进行设置:

通过  file->preferences->Settings 出现如下界面:

Vue项目vscode 安装eslint插件的方法(代码自动修复)

点击红框,则会出现配置文件

Vue项目vscode 安装eslint插件的方法(代码自动修复)

把以下代码复制到这个文件中:

{
 // vscode默认启用了根据文件类型自动设置tabsize的选项
 "editor.detectIndentation": false,
 // 重新设定tabsize
 "editor.tabSize": 2,
 // #每次保存的时候自动格式化
 "editor.formatOnSave": true,
 // #每次保存的时候将代码按eslint格式进行修复
 "eslint.autoFixOnSave": true,
 // 添加 vue 支持
 "eslint.validate": [
 "javascript",
 "javascriptreact",
 {
  "language": "vue",
  "autoFix": true
 }
 ],
 // #让prettier使用eslint的代码格式进行校验
 "prettier.eslintIntegration": true,
 // #去掉代码结尾的分号
 "prettier.semi": false,
 // #使用带引号替代双引号
 "prettier.singleQuote": true,
 // #让函数(名)和后面的括号之间加个空格
 "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
 // #让vue中的js按编辑器自带的ts格式进行格式化
 "vetur.format.defaultFormatter.js": "vscode-typescript",
 "vetur.format.defaultFormatterOptions": {
 "js-beautify-html": {
  "wrap_attributes": "force-aligned"
  // #vue组件中html代码格式化样式
 }
 },
 "window.zoomLevel": 0,
 "explorer.confirmDelete": false,
 "explorer.confirmDragAndDrop": false,
 "editor.renderControlCharacters": true,
 "editor.renderWhitespace": "all"
}

然后在项目的.eslintrc.js中添加如下代码:

// https://eslint.org/docs/user-guide/configuring

module.exports = {
 root: true,
 parserOptions: {
 parser: 'babel-eslint'
 },
 env: {
 browser: true
 },
 extends: [
 // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
 // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
 'plugin:vue/essential',
 // https://github.com/standard/standard/blob/master/docs/RULES-en.md
 'standard'
 ],
 // required to lint *.vue files
 plugins: ['vue'],
 // add your custom rules here
 rules: {
 // allow async-await
 'no-console': 'off',
 indent: ['error', 2, { SwitchCase: 1 }],
 semi: ['error', 'always'],
 'space-before-function-paren': [
  'error',
  { anonymous: 'always', named: 'never' }
 ],
 'generator-star-spacing': 'off',
 // allow debugger during development
 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
 }
}

ctrl + s保存代码后,便会自动修复格式不正确的代码

总结

到此这篇关于Vue项目vscode 安装eslint插件的方法(代码自动修复)的文章就介绍到这了,更多相关vscode 安装eslint插件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
May 07 Javascript
JS判断客服QQ号在线还是离线状态的方法
Jan 13 Javascript
jquery使用经验小结
May 20 Javascript
jquery设置表单元素为不可用的简单代码
Jul 04 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
Apr 19 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
vue.js动画中的js钩子函数的实现
Jul 06 Javascript
layer.open 按钮的点击事件关闭方法
Aug 17 Javascript
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
vue组件添加事件@click.native操作
Oct 30 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
Apr 15 #Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
Apr 15 #Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
Apr 15 #Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 #Javascript
vue-cli设置publicPath小记
Apr 14 #Javascript
vue 实现用户登录方式的切换功能
Apr 14 #Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 #Javascript
You might like
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP速成大法
2015/01/30 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
iframe调用父页面函数示例详解
2014/07/17 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
Bootstrap按钮组实例详解
2017/07/03 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
python 简易计算器程序,代码就几行
2009/08/29 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
Python中类的初始化特殊方法
2017/12/01 Python
Django进阶之CSRF的解决
2018/08/01 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
写字楼租赁意向书
2014/07/30 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
军训结束新闻稿
2015/07/17 职场文书
党员学习型组织心得体会
2019/06/21 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL