记录一次eslint配置不生效解决

4,460 阅读2分钟

太久不更新博客了...主要是觉得没写什么很厉害的东西所以一直没发 后来想想 其实随意记录一下也好

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中设置的格式后面有个默认值。

    ![image-20210309152324493](/Users/yyinc/Library/Application Support/typora-user-images/image-20210309152324493.png)

  • 自动保存的时候是否出错

    打开控制台-输出-prettier

    ![image-20210309153509693](/Users/yyinc/Library/Application Support/typora-user-images/image-20210309153509693.png)

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

    ![image-20210309153923801](/Users/yyinc/Library/Application Support/typora-user-images/image-20210309153923801.png)

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

    ![image-20210309154426204](/Users/yyinc/Library/Application Support/typora-user-images/image-20210309154426204.png)

    出现类似以上的信息即为编译成功。

    如果想要覆盖所有的默认配置,要在文件根目录下设置.prettierrc.js文件,然后module.exports一下:

    //下面是我的配置
    module.exports = {
        "extends": [
            "airbnb",
            "prettier",
            "prettier/react"
        ],
        "singleQuote": true, // 使用单引号
        "printWidth": 120, // 超过最大值换行
        "htmlWhitespaceSensitivity": "ignore",
        "semi": false, // 结尾不用分号
        "disableLanguages": ["vue"], // 不格式化vue文件,vue文件的格式化单独设置
    };