前言

在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范。很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint。除了可以集成到构建工具中(如:Gulp)在构建过程中检查代码风格以外;还可以通过将ESLint和代码编辑器相结合以提供代码风格的实时校验。这里将介绍如何在Visual Studio Code使用ESLint来提供代码风格的实时校验。

安装 Visual Studio Code ESLint 插件

打开 Visual Studio Code ,首先使用快捷键 Ctrl + Shift + P 调出VsCode的控制台,然后输入下面的命令安装ESLint插件:

ext install ESLint

使用 NPM 安装 ESLint

为了方便我们通过ESLint命令行工具来帮助我们生成ESLint相关的配置,我们需要进行全局安装:

npm install eslint -g

安装完成后我们使用命令行工具进入到需要引入ESLint的项目的目录中,然后输入下面的命令进行ESLint的初始化操作:

eslint --init

执行命令后,我们选择相应的代码风格,也可以自定义,在这里我使用standard风格的规则,如下所示:

配置ESLint的项目中需要设置好该项目的 package.json 文件,如果没有的话可以使用 npm init来设置。

安装完成后我们可以看到除了ESLint命令行工具为我们生成的ESLint依赖包,还有一个特殊的.eslintrc.json文件,该文件是ESLint的配置文件,如下所示:

{
"extends": "standard",
"installedESLint": true,
"plugins": [
"standard"
]
}

配置文件中除了声明我们所使用的代码风格以外,我们还可以定制自己的规则,比如:声明全局变量或者规定字符串引号的风格,以及其他任何ESLint支持的规则都是可以配置的,下面是一个简单的示例:

{
"extends": "standard",
"installedESLint": true,
"plugins": [
"standard"
],
"rules": {
//关闭额外的分号检查
//0:关闭,1:警告,2:异常
"semi": 0,
//字符串必须使用单引号
"quotes": [
"error",
"single"
]
}
}

更多配置相关可以参考官方文档:http://eslint.org/docs/user-guide/configuring

使用ESLint校验代码风格

安装完成后我们使用 Visual Studio Code 打开项目,可以看到ESLint插件在运行了,不过给了我们一个错误提示:

这时候我们需要在当面目录下输入下面的命令安装相应的开发依赖包:

npm install eslint-plugin-promise --save-dev

下面我们来测试一些看ESLint是否配置成功了,如下所示,我们编写一段不符合我们设定代码风格的典型的IIFE代码,可以看到ESLint插件为我们提供了准确方便且实时的提示信息:

可以看到通过ESLint为我们提供的代码风格检查,可以帮助我们可以写出更规范,更优雅的Javascript代码了~

参考资料&进一步阅读

http://eslint.org/

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

https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint

https://csspod.com/getting-started-with-eslint/

原文: http://www.gyzhao.me/2016/05/12/VsCodeESLint/  作者: gyzhao

Visual Studio Code 使用 ESLint 增强代码风格检查的更多相关文章

  1. 微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器

    微软良心之作——Visual Studio Code 开源免费跨平台代码编辑器 在 Build 2015 大会上,微软除了发布了 Microsoft Edge 浏览器和新的 Windows 10 预览 ...

  2. Visual Studio Code - 调试 Node.js 代码

    官方的文档写的太好了!大家还是看参考资料吧. 参考资料: Debugging in Visual Studio Code Debug Node.js Apps using Visual Studio ...

  3. Visual Studio Code 格式化ESlint 的方法

    既然要格式化ESlint,就不得不先介绍一下什么是ESlint.后面再介绍格式化的方法 1.ESlint ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具 ...

  4. Visual Studio Code编写C/C++代码常见问题

    我会把一些常见问题以及自己编写代码过程中遇到的问题以及解决方案放在这里,各位若是遇到的问题也可以在评论区留言. 一.头文件Error 不会影响编译运行,但会报Warm,如下图 解决方案是安装Inclu ...

  5. Visual Studio Code 使用Chrome Debug 代码

    一.添加插件 Debugger for Chrome,点击安装,安装完成之后,启动 二.配置启动参数 1.按 F5,出现界面如图,选择 Chrome 2.然后会打开配置文件 launch.json 3 ...

  6. Visual Studio Code 之 运行java代码

    1.安装扩展. 2.安装成功后,会在右键菜单中多出一个选项: 更改vscode“用户设置”文件:添加java.home(jdk目录)以及runcode显示在终端(解决中文乱码问题) code runn ...

  7. Visual Studio Code同时debug多种代码的方式

    今天看了一下,猜应该是configurations里面多写一个就行,试了下,真的可以同时debug Python和Go代码. 可以打断点.单步执行Python和Go代码. launch.json 如下 ...

  8. Visual studio code离线安装插件

    Visual studio code离线安装插件 公司研发区不能连接公网,使用Visual studio code(vsc)写Golang代码需要安装Go插件,下面介绍下,vsc离线安装插件的步骤.以 ...

  9. Visual Studio Code 安装美化合集

    这是一个关于VSCode编辑器的各种配置. 你可以在这里找到VSCode 的各种操作,如果这里找不到,请移步官方文档C++ programming with Visual Studio Code以及各 ...

随机推荐

  1. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  2. 怎样将多个CSS文件导入一个CSS文件中

    问题: 在HTML中引入css的其中的两个方法:    导入式和链接式的目的都是将一个独立的css文件引入一个文件中,二者的区别不大,事实上,二者最大的区别在于链接式使用html的标记引入外部css文 ...

  3. jxl读取excel实现导入excel写入数据库

    @RequestMapping(params = "method=import", method = RequestMethod.POST) @ResponseBody publi ...

  4. struts深入理解之登录示例的源码跟踪

    废话不多,直接上图:(色泽比较重的是追踪的路径)

  5. web前端学习笔记(CSS盒子的浮动)

    在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界:而在竖直方向和兄弟元素依次排列,不能并排.使用“浮动”方式后,块级元素的表现就会有所不同.      CSS中有一个float属性 ...

  6. 【转】 制作Android Demo GIF:程序演示效果GIF图录制

    在平时写博客或者分享自己写的程序效果的时候经常需要做成GIF图,以下就是介绍几种常用的GIF录制方法: 一.录制工具 1.(生成动画的工具:Ulead GIF Animator),可以讲单独的图片生成 ...

  7. layout_weight详解

    注:LinearLayout中的TextView按比例显示的时候,layout_width="0dp"或者layout_height="0dp" 在androi ...

  8. ThreadLocal之我见

    一直都对ThreadLocal类感觉隔层纱似的,因为在开发中几乎是没有用到过,也大体知道他是用来保存一个线程范围内有效的变量.甚至觉着它的实现就是类似于一个map,以线程id作为key,要保存的变量作 ...

  9. 你必须知道ASP.NET知识------从IIS到httpmodule(第一篇)

    一.写在前面 最近有时间,顺便将这系列洗完,接着上文:IIS各个版本知识总结 这篇文章原本计划写到HttpHandler为止,但限于篇幅就写到httpmodule 本文有不足之处,求指正,希望我能将它 ...

  10. ROS 多台电脑间进行通信

    版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5773822.html 在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间 ...