webstorm vscode vue项目使用eslint+prettier自动格式化代码
eslint+prettier自动格式化代码
1.两个依赖
需要你的vue项目已经使用了eslint+prettier,你可以在创建项目的时候选择eslint+prettier,如下图:
当然,对于老项目,你也可以选择自己安装相关依赖,就是稍微繁琐一些…
2.eslint
eslint:JavaScript 代码检测工具
js相当随意,对于字符串,你可以使用
'',
"";在语句的最后,你可以使用
;,或者不使用
这就很难受呀,一个小伙伴一种写法,虽说不会错,但是不统一
我们可以在eslint制定规则,一旦不符合规则就警告或者保存,这样就可以统一小伙伴们的代码风格了
3.prettier
eslint可以制定规则,但是每条规则都自己制定,又繁琐又不一定就是最好的
这时prettier就是一个不错的选择,他提供了一套格式化代码的规则,当然,你也可以自定义某些规则
4.配置 prettier 不符合规则就报错
在eslint的配置文件中的rules加入规则
"prettier/prettier": "error"
看,prettier已经对一个空的函数报错了
5.格式化代码 修复错误
我们先选择使用webstorm的格式化代码试试,ctrl+alt+l发现并不能修复,这是因为webstorm的格式化规则和prettier的规则并不相同
正确的方式:鼠标右击->Fix Eslint Problems,整个文件的代码就会被格式化
tips:在webstorm,我们可以把Fix Eslint Problems映射到快捷键,以后就不需要动鼠标了
6.自定义规则
我们可以使用以下方式自定义一些规则,如:强制使用单引号’ ’
其他配置项参考官网:配置项
7.使用file watchers(文件监视者) 在保存时自动格式化代码
我们选择监视vue文件,点击确定保存(可以多设置几个监视器,如图7-1,但不建议监视Any)
来到一个vue组件,我们随便输入一些东西,然后 ctrl+s 保存
我们发现,单引号
''被格式化成双引号
"",并且报错了
使用Fix Eslint Problems,发现修复后又变成双引号
""
8.格式化优先级问题
我们现在有3种格式化代码的方式,分别是 A:ctrl+alt+l webstorm格式化、 B:Fix Eslint Problems使用eslint格式化(继承了prettier规则)、 C:ctrl+s使用webstorm自带的prettier插件格式化
他们的优先级为A<B<C,所有出现了 7 最后的情况
9.给webstorm自带的prettier插件设置规则
如图:我们给prettier插件设置强制使用单引号
''的规则
这样prettier插件的规则 === eslint规则
回到组件ctrl+s,发现变成了单引号
'',一切正常
10.思考
what?同样的规则要在
prettier插件和
eslint设置2次?
what?我的小伙伴不用webstorm怎么办?
9 的做法虽然可行,当显然并不合理
我们应该把自定义的规则提取出来,让
prettier插件和
eslint共同使用
11.优化
在项目根目录新建
.prettierrc.jsor
prettier.config.js,并配置我们的自定义规则
module.exports = { printWidth: 120, singleQuote: true, // 强制使用单引号 vueIndentScriptAndStyle: true, // vue文件的script标签和Style标签下的内容需要缩进 semi: false, // 语句末尾不使用分号 quoteProps: 'consistent' // 如果对象中至少有一个属性需要用引号引起来,就把所有属性用引号引起来 }
参考官网:配置文件
至此,全部设置完成
tips:
prettier插件和
eslint中配置的规则都可以删掉咯!停,大哥,别打脸…
12.总结
别看我叽叽歪歪说了一堆,其实就2步
A:使用file watchers(文件监视者) 在保存时自动格式化代码,即第7
B:在项目根目录新建配置文件并设置自定义的配置,即第11
或者
A:自定义规则即第6
B:Fix Eslint Problems映射到快捷键(如果映射成ctrl+s那效果就是一样的啦,不过我没试过,感兴趣的小伙伴可以试试)
写这么多,这么细,其实也是做个记录,这东西做一次就基本不再做了,要是哪天搞个新项目,记不起来还能看看!
13.以上都是webstorm的,vscode就很简单啦
"files.autoSave": "afterDelay", "editor.codeActionsOnSave": { "source.fixAll.eslint": true },
即保存时使用eslint格式化
其他的编辑器请自行百度…
- VSCode中编写Vue项目使用Eslint+Prettier格式化,会自动加上分号 空格 单引号变双引号问题
- Vue-cli Eslint在vscode里代码自动格式化的方法
- vscode 代码格式化,语法检查插件ESLint+Prettier ,vue格式化
- vscode vue 自动格式化代码及解决与eslint冲突问题
- vscode 配置vue+vetur+eslint+prettier自动格式化功能
- 详解如何在vue项目中使用eslint+prettier格式化代码
- 使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
- 挖坑指南:ESLint + VS Code自动格式化代码
- Vue Vue-cli Eslint 实现在vscode里保存后代码自动格式化
- vscode保存代码,自动按照eslint规范格式化代码设置
- vscode自动格式化配置(结合eslint+prettier)
- vue+ESLint 配置保存 自动格式化代码
- vue eslint 代码自动格式化
- VsCode(Visual Studio Code)格式化代码符合EsLint
- 使用vue-cli 3+构建的vue项目实现保存时按eslint规则自动格式化代码格式
- vsCode 设置vue 保存自动格式化代码
- vue项目eslint环境配置与vscode配置eslint
- 详解VS Code使用之Vue工程配置format代码格式化
- VS Code开发Vue项目格式化代码空格被删除
- Vue项目vscode 安装eslint插件的方法(代码自动修复)