https://mp.weixin.qq.com/s/JftKCEJeGncF2uI56mne_g

1、安装 EditorConfig 插件

该插件用于 统一编辑器的基本配置规范,例如代码缩进,换行等等

配置:在代码根目录新建 .editorconfig 文件,根据项目需要不同,添加对应的配置

  1. ## 打开文件时,EditorConfig 插件会在打开的文件的目录和每个父目录中查找名为 .editorconfig 的文件。
  2. ## 如果到达根文件路径或找到具有 root=true 的 EditorConfig 文件,将停止对 .editorconfig 文件的搜索。
  3. ## 如果 root=true 没有配置, EditorConfig 插件将会在工程之外寻找 .editorconfig 文件
  4. root = true
  5. ## 使用规则匹配文件
  6. ## * 匹配任何字符串,路径分隔符 (/) 除外
  7. ## ** 匹配任意字符串
  8. ## ? 匹配任何单个字符
  9. ## [name] 匹配给定的字符串中的任何单个字符
  10. ## [!name] 匹配不在给定字符串中的任何单个字符
  11. ## {s1,s2,s3} 匹配任意给定的字符串
  12. ## {num1..num2} 匹配num1和num2之间的任何整数,其中num1和num2可以是正数或负数
  13. ## 如规则[*.{js}]只对 .js 文件生效。一般来说,我们配置 [*] 对所有文件生效。
  14. [*]
  15. ## 缩进方式。 值可以是 tab 或者 space
  16. indent_style = space
  17. ## 缩进大小。当设置为 tab 时,会取 tab_width 的值。
  18. indent_size = 4
  19. ## 通常不需要设置。当 indent_size = tab 时,才会生效。
  20. tab_width = 4;
  21. ## 设置为 lf、cr 或 crlf 以控制如何表示换行符。
  22. end_of_line = lf
  23. ## 设置为 latin1、utf-8、utf-8-bom、utf-16be 或 utf-16le 来控制字符集。
  24. charset = utf-8
  25. ## 设置为 true 以删除换行符之前的任何空格字符,设置为 false 以确保不会。
  26. trim_trailing_whitespace = true
  27. ## 设置为 true 以确保文件在保存时以换行符结束,设置为 false 以确保不以换行符结束。
  28. inset_final_newline = true

2、安装 Eslint 插件及工具

由于 每个团队里的队员能力不一,无法保证所有人都一直按照特定规定执行,这个时候就需要 Eslint 这么一个规范性的工具,替我们规范整个项目的代码,

Eslint 的核心是通过对代码解析得到的 AST(Abstract Syntax Tree,抽象语法树) 进行模式匹配,定位不符合约定规范的代码。

配置:

  1. 本地安装 Eslint 及 社区常用规范 [eslint-config-airbnb](https://github.com/airbnb/javascript) (也可以是其他的规范,看团队所约定的方案)。

    1. npm i eslint eslint-config-airbnb -D
  2. VSCode 安装 Eslint 插件

image.png

  1. 项目根目录添加 .eslintrc.js 配置文件。

    2.1 eslintrc.js

  2. 普通用法 ```javascript { env: { /*

} ```

  1. Vue 特殊配置
  2. React 特殊配置