Skip to content

10.5 VSCode

通过 ESLint 和 Prettier 两大代码规范工具,我们实现了代码规范制定,代码规范检查,以及通过命令快速格式化代码,使得统一团队代码风格变的非常容易。

然而,突破效率的挑战是没有极限的。虽然现在可以快速规范代码,但是检查代码还是得依赖检查命令,格式化代码也得依赖格式化命令,频繁敲命令总显得不够优雅。

那么,还有更优雅的解决方案吗?当然了,我们还有前端最强编辑器 ——— VSCode。将 VSCode 与两大代码规范工具配合使用,效率会进一步提升。

10.5.1 使用插件

当前 VSCode 编辑器几乎已经成为了前端开发者的标配。它功能强大,倍受好评,是我们最趁手的开发武器。

既然能得到如此广泛的认可,那么就必然有它的优越性。VSCode 除了轻量启动速度快,最强大的特性是其丰富多样的插件,能满足不用使用者多种多样的需求。

在众多插件中,“ESLint” 是非常强大的一个。没错,该插件就 ESLint 在 VSCode 上支持的同名插件。插件截图如下:

安装这个插件之后,之前需要在终端执行 eslint 命令才能检查出来的异常,现在直接标记在你的代码上了!

即使只敲错了一个符号,该插件也会实时的追踪到错误的地方,然后给出标记和异常提醒。这简直成倍提升了开发效率,再也不需要执行命令来检查代码了,一切都是可视化的呈现。

既然编辑器有 ESLint 插件,那是不是也有 Prettier 插件呢?猜对了,插件全名叫 “Prettier - Code formatter”,截图如下,在 VSCode 中搜索安装即可。

Prettier 插件安装之后会作为编辑器的一个格式化程序。在代码中右键格式化,就可以选择 Prettier 来格式化当前代码。

如果要想 Prettier 实现自动化,还需要修改编辑器的配置。

10.5.2 编辑器配置

VSCode 中有一个用户设置 “setting.json” 文件,其中保存了用户对编辑器的自定义配置。

这个配置选项非常丰富,完整信息可以查阅官网(https://code.visualstudio.com/docs/getstarted/settings)。在编辑器中点击左下角的设置图标,选择设置-> 打开设置,就可以打开该文件,如图所示。

首先我们在这个配置当中将 Prettier 设置为默认格式化程序:

json
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

设置好这一步之后,重点来了!我们再配置保存文件时自动格式化:

json
{
  "editor.formatOnSave": true
}

配好之后,神奇的事情发生了:当你写完代码保存的时候,发现你正在编辑的文件立刻被格式化了。也就是说,无论你的代码按不按照规范写,保存的时候自动帮你格式化成规范的代码。

这一步其实是保存文件的时候自动执行了格式化命令。因为我们上面配置了默认格式化程序为 Prettier,现在又配了保存时格式化,相当于将文件保存和 “prettier” 命令连接了起来。

到这一步,我们已经实现了代码自动检查与自动格式化。此时你编码不需要考虑规范问题,只要正常保存,编辑器会自动帮你做好这些事情。

最后一步,再将 Vue 的默认格式化程序也设置为 Prettier,如下:

json
{
  "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

这样 JavaScript 代码与 Vue 组件代码的格式化风格也统一了。

10.5.3 共享配置

上面我们在编辑器经过一顿配置,终于实现了自动格式化。现在我们要把这些设置同步给团队内的其他成员,该怎么办,难道要在每个人的编辑器中再配一遍?

其实不用这么麻烦。VSCode 的设置分为两类:

  • 用户设置:应用于整个编辑器。
  • 工作区设置:应用于当前目录/工作区。

这两类的配置内容是一模一样的,区别只是优先级的问题。如果你打开的项目目录包含工作区设置,那么这个工作区设置会覆盖掉当前的用户设置。

所以要想将设置同步给团队内的其他成员,我们不需要去改动用户设置,只需要在项目目录下新建一个工作区设置即可。

添加工作区设置方法:在项目根目录下新建 “.vscode/setting.json” 文件,在这里写需要统一的编辑器配置。所以我们把上面的 Prettier 配置写在这里即可实现共享。