VSCode中ESLint和settings.josn、Prettier 配置各种冲突

252 阅读1分钟

相信小伙伴们对ESLint又爱又恨,我看了网上好多资料,要么直接关了检查,要么教我们一顿操作,最后无奈摆手!

分析原因

安装ESLint、Prettier - Code formatter, (Prettier ESLint可选)

{
  // vscode默认启用了根据文件类型自动设置tabsize的选项
  "editor.detectIndentation": false,
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "editor.defaultFormatter": "esbenp.prettier-vscode", // 默认格式化程序

  // 重新设定tabsize
  "editor.tabSize": 2,
  // #每次保存的时候自动格式化
  "editor.formatOnSave": true,
  // 添加 vue 支持
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    {
      "language": "vue",
      "autoFix": true
    }
  ],
  "prettier": {
    //禁止随时添加逗号,这个很重要。找了好久
    "trailingComma": "none"
  },
  //  #让prettier使用eslint的代码格式进行校验
  "prettier.eslintIntegration": true,

  //  #去掉代码结尾的分号
  "prettier.semi": false,

  //  #使用带引号替代双引号
  "prettier.singleQuote": true,
  //  #让函数(名)和后面的括号之间加个空格
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  // #这个按用户自身习惯选择
  "vetur.format.defaultFormatter.html": "js-beautify-html",
  // #让vue中的js按编辑器自带的ts格式进行格式化
  "vetur.format.defaultFormatter.js": "vscode-typescript",
  "vetur.format.defaultFormatterOptions": {
    "js-beautify-html": {
      "wrap_attributes": "force-aligned"
      // #vue组件中html代码格式化样式
    }
  },
  // "vetur.format.defaultFormatter.js": "vscode-typescript", // 如果使用vue,ts 则这句是必需的
  // "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  // 格式化stylus, 需安装Manta's Stylus Supremacy插件
  "stylusSupremacy.insertColons": false, // 是否插入冒号
  // "stylusSupremacy.insertSemicolons": false, // 是否插入分好
  "stylusSupremacy.insertBraces": false, // 是否插入大括号
  "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
  "stylusSupremacy.insertNewLineAroundBlocks": false,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  },
  "javascript.format.insertSpaceAfterFunctionKeywordForAnonymousFunctions": false // 两个选择器中是否换行
}