vscode内prettier与eslint格式化规则冲突原因和方案剖析
问题现象vscode内,js、vue文件保存时格式化程序冲突,出现死循环。原因分析1、vscode的扩展eslint默认开启检测和修复代码。2、vscode 设置里可以配置onsave时开启formate,并配置格式化使用的程序,有时默认配置了用prettier格式化。3、prettier与eslint格式化规则冲突了。解决方案方案一:将用户与工作区的format on save都关掉(最快解)方
问题现象
vscode内,js、vue文件保存时格式化程序冲突,出现死循环。
原因分析
1、vscode的扩展eslint默认开启检测和修复代码。
2、vscode 设置里可以配置onsave时开启formate,并配置格式化使用的程序,有时默认配置了用prettier格式化。
3、prettier与eslint格式化规则冲突了。
解决方案
方案一:将用户与工作区的format on save都关掉(最快解)
方案二:如不关闭format on save ,也可以将用户与工作区的其中一个的format on save mode改为modifications解决。(不彻底)
方案三:将vscode默认的格式程序改为用eslint,操作方案是,右键进入配置或者ctrl+,
搜索Editor: Default Formatter的方式改为eslint。(一般解)
方案四:将prettier格式化的规则改为和eslint一样,修改各个的*config.**配配置文件,如使用开源插件配置eslint-plugin-prettier、prettier-eslint 。(最优解)
其他总结
用户和工作区配置优先级。
-
默认第一梯度,工作区优先于用户配置。
-
第二梯度,如工作区设置取消勾选,其实默认无配置,这时用户区勾选的话,一样按勾选生效。 可用format on save测试。
-
如工作区和用户区都设置了同一个属性,如工作区设置的值范围更宽松,用户区设置的更严格,则按用户区严格的配置生效。 可用format onsave mode,file和modify测试。
更多推荐
所有评论(0)