VScode + Eslint自动格式化问题

问题描述

有没有办法设置某些文件夹下面的文件代码不会自动格式化?

【场景】
有的文件不想让它自动格式化,例如:

// 我理想的格式
html,body,div,span,applet,object{margin:0;padding:0}

// 自动格式化后
html,
body,
div,...
{
    margin: 0;
    padding: 0
}

配置

{
    // 关闭根据文件类型自动设置tabsize
    "editor.detectIndentation": false,
    // 重新设定缩进tabsize
    "editor.tabSize": 4,
    // 每次保存的时候自动格式化 
    // "editor.formatOnSave": true,
    // 启用eslint规范校验
    "eslint.enable": true,
    // 每次保存的时候将代码按eslint格式进行修复
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },
    // 确定校验准则
    "eslint.validate": [
        "javascript",
        "javascriptreact"
    ],
    // 指定vscode的eslint所处理的文件后缀
    "eslint.options": {
        "extentions": [
            ".js",
            ".vue",
            ".ts",
            ".tsx"
        ]
    },
}
阅读 3k
4 个回答

根据文件路径还是文件内容;如果是文件路径;可以配置需要格式话的文件目录和文件;如果是根据代码内容需要,设置配置

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

在项目根目录添加 .eslintignore 文件
里面可以设置路径 以及一些后缀名的匹配 类似于 .gitignore

/build/
/config/
/dist/
node_modules
public
*.less

既然楼主配置了这一项那么js文件一定是按照eslint格式进行修复,但是scss是样式文件,它不受eslint管辖,所以不会走eslint这一套流程进行格式化;按照楼主这一套配置并没有复现这个问题,最好是把eslint文件也贴一下;如果楼主配置了style-lint的话可能会根据那个规则进行格式化;

// 每次保存的时候将代码按eslint格式进行修复
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    },

实在找不到办法的话也有一个方案:就是配置切换文件时保存files.autoSave": "onFocusChange",这个时候切换文件时保存不会触发编辑器的format,这个办法我经常用,因为有些第三方压缩好的js文件它不需要去格式化,但是如果在eslint中配置又太麻烦
`

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题