问题现象

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 。(最优解)

其他总结

用户和工作区配置优先级。

  1. 默认第一梯度,工作区优先于用户配置。

  2. 第二梯度,如工作区设置取消勾选,其实默认无配置,这时用户区勾选的话,一样按勾选生效。 可用format on save测试。

  3. 如工作区和用户区都设置了同一个属性,如工作区设置的值范围更宽松,用户区设置的更严格,则按用户区严格的配置生效。 可用format onsave mode,file和modify测试。

Logo

前往低代码交流专区

更多推荐