admin管理员组文章数量:1565813
文章目录
- 前言
- 1. ESLint 支持几种格式的配置文件
- 2. ESLint的数字代表
- 3. VSCode 默认格式化配置
- 4. Prettier 配置
- 5. 如何解决 ESLint 与 Prettier 冲突?
- 6. 友情链接
前言
作为一个开发人员,代码不好看可咋办?经常看到别人的代码一团糟,编译器右侧都是红点……
我们心里也是非常抓狂的……为什么维护的是我?
别慌,慢慢来~
首先,我们可以配置一些工具,帮助我们养成良好的编码习惯。
然后,熟练使用!这样编码风格就养成啦!
温馨提示:要安装好eslint扩展程序后再进行配置~
可以辅助安装 Prettier 进行代码风格管理。
配置文件可以是js文件,也可以是json文件,语法不同而已。
不能盲目的复制其他配置项,要看自己项目安装了哪些,以及是否需要。
- ESLint:语法检测工具
- Prettier:代码风格控制工具
看到如下代码会不会感觉好很多?特别整齐,没有爆红!
我这里配置的是TabSize=4,团队开发风格,没办法,咱也可以设置2个空格缩进哈。
1. ESLint 支持几种格式的配置文件
2. ESLint的数字代表
“off” 或 0 - 关闭规则
“warn” 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出)
“error” 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)
参考我的配置(.eslintrc.js
):
module.exports = {
env: {
browser: true,
es6: true,
node: true,
},
extends: ['eslint:recommended', 'plugin:react/recommended'],
plugins: ['react'], // 这里增加prettier插件。
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
// parser: "@typescript-eslint/parser",
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
ecmaFeatures: {
jsx: true,
},
},
rules: {
'prettier/prettier': 'error', // prettier 检测到的标红展示
'javascript.validate.enable': 1,
// 禁止定义不使用的变量
'no-unused-vars': 2,
// suppress errors for missing 'import React' in files
'react/react-in-jsx-scope': 'off',
// allow jsx syntax in js files (for next.js project)
'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }], //should add ".ts" if typescript project
'react/prop-types': 'off',
indent: ['warn', 2],
},
};
/**
"off" 或 0 - 关闭规则
"warn" 或 1 - 开启规则,使用警告级别的错误:warn (不会导致程序退出)
"error" 或 2 - 开启规则,使用错误级别的错误:error (当被触发的时候,程序会退出)
*/
3. VSCode 默认格式化配置
如图:可以选择用prettier
或者eslint
等默认格式化。
4. Prettier 配置
vscode中的格式化可以按第3点进行配置,我一般用的prettier
,一款很好的代码格式化插件,可自行安装。
它的默认格式化快捷键是:Alt + Shift + F
(Windows)、shift + option + F
(Mac)。配置文件:.prettierrc.js
module.exports = {
singleQuote: true,
semi: true, // 使用分号, 默认true
useTabs: false, // 使用tab缩进,默认false
tabWidth: 4, // tab缩进大小,默认为4或2
arrowParens: 'always', // 箭头函数参数括号 默认avoid。avoid 能省略括号的时候就省略 例如x => x,always 总是有括号
bracketSpacing: true, // 在对象,数组括号与文字之间加空格 "{ foo: bar }"
printWidth: 100, // 一行的字符数,如果超过会进行换行,默认为80
trailingComma: 'none'// 去掉末尾的逗号
};
配置好之后重启编译器。以后编码完按快捷键,就可以自动按照改规则格式化啦!亲测有效!
使用 Prettier :
// 格式化所有文件
npx prettier --write .
// 格式化app目录下的所有文件
prettier --write app/
5. 如何解决 ESLint 与 Prettier 冲突?
在代码格式化时采用Perttier
规则,而我们代码校验使用的是ESLint
,如果同一个规则配置不一致,往往就会出现冲突问题;
比如:字符串单、双引号的配置,Eslint
把字符串变成单引号,再次编辑文件后,Prettier
自动格式化后却又变成双引号,导致代码校验异常。
解决方式一:要么修改 eslintrc,要么修改 prettierrc 配置,让它们配置保持一致;
解决方式二:禁用 ESLint中和Prettier配置有冲突的规则;再使用 Prettier 来替代 ESLint 的格式化功能;
npm i eslint-plugin-prettier eslint-config-prettier -D
再配置 .eslintrc.js
:
module.exports = {
extends: [
require.resolve('@hb/codestyle-linter/rcs/eslintrc.js'),
'prettier'
],
rules: {
},
};
这两个包配合使用,可以达到运行 eslint --fix 时,采用Prettier的配置规则 来格式化文件。
6. 友情链接
(1)ESLint官网,可参考配置。
可以在这里搜索,如图所示:
看不懂的地方可以评论区讨论。
(2)关于我在eslint 配置中遇到的 问题。
(3) Prettier官网。
本文标签: 语法代码VSCodeeslintprettier
版权声明:本文标题:VScode配置ESLint检测语法+Prettier代码格式化 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1726471594a1072148.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论