太久不更新博客了...主要是觉得没写什么很厉害的东西所以一直没发 后来想想 其实随意记录一下也好
eslint配置不生效解决
处理一堆格式乱七八糟的代码,但是自动保存的时候格式化不生效
踩坑记录,怎么保存都没有格式化,打开mac这个没安装什么插件的vscode,发现保存的时候是可以自动格式化的,怀疑是插件问题。电脑上只有beautify和prettier是有格式化功能的,都删掉,就可以自动保存了。
当然不能都删掉,再继续向下排查原因,发现使用beautify的时候没啥问题,使用prettier的时候经常保存不了,
右键-格式化文档的方式:查看自己选了哪个方式保存
-
有没有开启自动保存
文件-首选项-文本编辑器-正在格式化里面有自动保存
format On Save勾上就可以了,或者直接在setting.js里加"editor.formatOnSave": true, -
以哪种格式自动保存
我这边有beautify,prettier,html语言功能(vscode默认自带的保存)
怎么设置默认的保存格式?打开setting.js:
//文件后缀名 "[html]": { //默认的保存格式:prettier "editor.defaultFormatter": "esbenp.prettier-vscode" }, //HookyQR.beautify对应beautify //vscode.html-language-features对应prettier修改完之后会发现右键-格式化文档的方式中,setting.js中设置的格式后面有个默认值。

-
自动保存的时候是否出错
打开控制台-输出-prettier

可以发现每次保存都会自动输出内容。其中包括当前prettier的默认配置。如果代码中出现错误,还会报错误信息(无法在保存时自动格式化的主要原因),例如:

可以看出问题在于p标签内嵌套了p标签,把p标签改成div就解决了问题。

出现类似以上的信息即为编译成功。
如果想要覆盖所有的默认配置,要在文件根目录下设置.prettierrc.js文件,然后module.exports一下:
//下面是我的配置 module.exports = { "extends": [ "airbnb", "prettier", "prettier/react" ], "singleQuote": true, // 使用单引号 "printWidth": 120, // 超过最大值换行 "htmlWhitespaceSensitivity": "ignore", "semi": false, // 结尾不用分号 "disableLanguages": ["vue"], // 不格式化vue文件,vue文件的格式化单独设置 };