VsCode读取项目文件的Eslint规则 保存时自动修复格式错误

卑衍
• 阅读 12743

VsCode读取项目文件的Eslint规则 保存时自动修复格式错误

前言:

同一个项目,保持代码风格的一致,是非常重要的一个规范。但事实上项目小组成员的代码校验规则、格式化工具通常都不一致,为了避免项目到后期出现无法维护的问题,项目成员使用同一套校验规则,同一个格式化方式是相当好的步骤之一。

个人博客了解一下:obkoro1.com

保存时自动统一代码风格:

先通过一些简单的配置,然后:

  • Ctrl+s / command+s 时自动修复代码的格式错误
  • 自动修复的规则是读取项目根目录的Eslint规则
  • 这样就能保证项目成员都是一套验证规则的代码风格

配置:

1.安装VsCode的EsLintvetur插件

如图安装EsLint插件:

VsCode读取项目文件的Eslint规则 保存时自动修复格式错误

2.为项目安装EsLint包:

VsCode读取项目文件的Eslint规则 保存时自动修复格式错误

注意要安装在开发环境上,还有就是如果你使用的是脚手架的话,选了Eslint选项,会自带这些包。

3.在项目的根目录下添加.eslintrc.js

用于校验代码格式,根据项目情况,可自行编写校验规则:

module.exports = {
    // Eslint规则
}

4.首选项设置:

将下面这部分放入首选项设置中:

 "eslint.autoFixOnSave": true,  //  启用保存时自动修复,默认只支持.js文件
 "eslint.validate": [
    "javascript",  //  用eslint的规则检测js文件
    {
      "language": "vue",   // 检测vue文件
      "autoFix": true   //  为vue文件开启保存自动修复的功能
    },
    {
      "language": "html",
      "autoFix": true
    },
  ],

想了解更多的话,推荐看一下VsCode的EsLint插件

大功告成:

点开文件,你可能会看到如下报错,无需一个一个去改,只要保存一下文件,就可以自动修复这些代码格式上的问题了。

VsCode读取项目文件的Eslint规则 保存时自动修复格式错误

注意:

如果整个文件都飘红的话,不会一次性修改如果的格式问题,会一下改一部分,你可能需要多按几次保存。

一键修复项目格式问题:

遇到下面这两种情况:

  • 你刚刚引入这个自动修复,但你项目的文件比较多,且你又比较懒。
  • 隔一段时间,修复一下代码格式上的问题

你可以像下面这样,在package.json里面的scripts里面新增一条如下命令:

"lint": "eslint --ext .js,.vue src --fix"

VsCode读取项目文件的Eslint规则 保存时自动修复格式错误

--ext后面跟上的.js.vue是你要检测文件的后缀,.vue后面的src是要检测的哪个目录下面的文件。

--fix的作用是自动修复根据你配置的规则检测出来的格式问题

一键修复:

输入如下命令行,就可以自动修复你src文件夹下面的所有根据你配置的规则检测出来的格式问题

npm run lint

.eslintignore 不检测一些文件:

在项目的根目录创建一个.eslintignore文件,用于让EsLint不检测一些文件。

比如引的一些别人的文件,插件等,比如文件中:

src/test/* 
src/test2/* 

文件中的内容像上面这样写,这里第一行是不检测src目录下的test文件夹下面的所有文件。

自定义规则:

// .eslintrc.js文件
module.exports = {
    "rules": { // 自定义规则
        "no-console": 0,
        "no-const-assign": 1, 
        "no-extra-bind": 2,
    }
}

0、1、2的意思:

  • "off" 或 0 - 关闭这项规则
  • "warn" 或 1 - 将规则视为一个警告
  • "error" 或 2 - 将规则视为一个错误

结语

使用自动VsCode+EsLint格式化代码,在团队内部相互去看别人的代码的时候,就可以更容易的看的懂,能够极大的降低团队的沟通成本和提高心情,设置这么方便,赶紧在团队中用起来吧!

希望看完的朋友可以点个喜欢/关注,您的支持是对我最大的鼓励。

个人blog and 前端积累文档,如需转载,请放上原文链接并署名。码字不易,感谢支持!

如果喜欢本文的话,欢迎扫描关注我的订阅号,最新文章,面试题等都将第一时间发布在订阅号上。

以上2018.9.16

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
4年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
4年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Easter79 Easter79
4年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
4年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这