当前位置:   article > 正文

VSCode 保存、自动格式化时ESLint 配置不生效_prettier-eslint 保存格式化不生效

prettier-eslint 保存格式化不生效

1、问题描述

VSCode 中安装了 Prettier 和 ESLint 插件,在项目中使用了 .eslintrc.js 文件规范项目代码。
但是保存代码时格式化并不是按该文件的配置而是按 Prettier 的配置

2、当前项目.eslintrc.js文件是单独文件

解决:1、首先打开vscode,在vscode的设置扩展中安装eslint插件;

3、查看下面截图,按步骤1、2、3、4执行操作,即可配置成功。点击左下角设置,弹出设置,点击右上角3位置,弹出Settings.json 文件,修改,代码下面有整理,修改之后,重启vscode就可以了

4、Settings.json文件代码

  1. {
  2. "leek-fund.funds": [
  3. []
  4. ],
  5. "leek-fund.fundSort": -1,
  6. "js/ts.implicitProjectConfig.experimentalDecorators": true,
  7. "terminal.integrated.defaultProfile.windows": "Git Bash",
  8. "terminal.integrated.persistentSessionScrollback": 1000,
  9. "eslint.codeAction.showDocumentation": {},
  10. "eslint.codeAction.disableRuleComment": {
  11. "enable": false,
  12. "location": "separateLine"
  13. },
  14. "window.zoomLevel": 0,
  15. "editor.renderWhitespace": "none",
  16. "editor.renderControlCharacters": false,
  17. "editor.minimap.enabled": false,
  18. "breadcrumbs.enabled": true,
  19. "editor.fontSize": 16,
  20. "editor.tabSize": 2,
  21. "explorer.confirmDelete": false,
  22. "editor.wordWrap": "on",
  23. "liveServer.settings.NoBrowser": true,
  24. "liveServer.settings.donotShowInfoMsg": true,
  25. "files.trimTrailingWhitespace": true,
  26. "editor.codeActionsOnSave": {
  27. "source.fixAll.eslint": true
  28. },
  29. "liveServer.settings.ignoreFiles": [
  30. ".vscode/**",
  31. "**/*.scss",
  32. "**/*.sass",
  33. "**/*.ts"
  34. ],
  35. "liveServer.settings.mount": [],
  36. "vetur.validation.template": false,
  37. "cssrem.rootFontSize": 192,
  38. // #每次保存的时候自动格式化
  39. "editor.formatOnSave": true,
  40. // 添加 vue 支持
  41. "eslint.validate": [
  42. "javascript",
  43. "javascriptreact",
  44. "vue"
  45. ],
  46. // #让prettier使用eslint的代码格式进行校验
  47. "prettier.eslintIntegration": true,
  48. // #去掉代码结尾的分号
  49. "prettier.semi": true,
  50. // #使用带引号替代双引号
  51. "prettier.singleQuote": true,
  52. // #让函数(名)和后面的括号之间加个空格
  53. "prettier.space-before-function-paren": true,
  54. "javascript.format.insertSpaceBeforeFunctionParenthesis": false,
  55. // #让vue中的js按编辑器自带的ts格式进行格式化
  56. "vetur.format.defaultFormatter.js": "vscode-typescript",
  57. "vetur.format.defaultFormatterOptions": {
  58. "js-beautify-html": {
  59. "wrap_attributes": "force-aligned"
  60. // #vue组件中html代码格式化样式
  61. }
  62. }
  63. }

5、.eslintrc.js

  1. module.exports = {
  2. 'root': true,
  3. 'env': {
  4. browser: true,
  5. node: true,
  6. jest: true,
  7. es6: true
  8. },
  9. 'extends': [
  10. 'plugin:vue/essential',
  11. 'eslint:recommended'
  12. ],
  13. 'parserOptions': {
  14. parser: '@babel/eslint-parser'
  15. },
  16. 'rules': {
  17. 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
  18. 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
  19. 'prefer-const': 'error',
  20. 'no-const-assign': 'error',
  21. 'no-var': 'error',
  22. 'no-new-object': 'error',
  23. 'no-array-constructor': 'error',
  24. 'prefer-destructuring': 'error',
  25. 'quotes': ['error', 'single'],
  26. 'prefer-template': 'error',
  27. 'template-curly-spacing': 'error',
  28. 'no-eval': 'error',
  29. 'no-useless-escape': 'error',
  30. 'no-loop-func': 'error',
  31. 'prefer-rest-params': 'error',
  32. 'default-param-last': 'error',
  33. 'no-new-func': 'error',
  34. 'space-before-function-paren': 0,
  35. 'no-param-reassign': 'error',
  36. 'arrow-parens': 'error',
  37. 'no-confusing-arrow': 'error',
  38. 'implicit-arrow-linebreak': 'error',
  39. 'no-useless-constructor': 'error',
  40. 'no-dupe-class-members': 'error',
  41. 'class-methods-use-this': 'error',
  42. 'no-duplicate-imports': 'error',
  43. 'dot-notation': 'error',
  44. 'no-restricted-properties': 'error',
  45. 'no-undef': 'error',
  46. 'one-var': 'error',
  47. 'no-multi-assign': 'error',
  48. 'no-plusplus': 'error',
  49. 'no-unused-vars': ['error', {
  50. 'vars': 'all',
  51. 'args': 'none'
  52. }],
  53. 'eqeqeq': 'error',
  54. 'no-nested-ternary': 'error',
  55. 'no-unneeded-ternary': 'error',
  56. 'no-mixed-operators': 'error',
  57. 'nonblock-statement-body-position': 'error',
  58. 'brace-style': 'error',
  59. 'no-else-return': 'error',
  60. 'spaced-comment': 'error',
  61. 'space-before-blocks': 'error',
  62. 'keyword-spacing': 'error',
  63. 'space-infix-ops': 'error',
  64. 'eol-last': 'error',
  65. 'newline-per-chained-call': 'error',
  66. 'no-whitespace-before-property': 'error',
  67. 'space-in-parens': 'error',
  68. 'array-bracket-spacing': 'error',
  69. 'max-len': ['error', { code: 100, ignoreUrls: true }],
  70. 'block-spacing': 'error',
  71. 'comma-spacing': 'error',
  72. 'func-call-spacing': 'error',
  73. 'key-spacing': 'error',
  74. 'no-trailing-spaces': 'error',
  75. 'no-multiple-empty-lines': 'error',
  76. 'comma-style': 'error',
  77. 'comma-dangle': 'error',
  78. 'semi': ['error', 'never'],
  79. 'camelcase': 'error',
  80. 'no-underscore-dangle': 'error',
  81. 'no-restricted-globals': 'error',
  82. 'quote-props': ['error', 'consistent']
  83. }
  84. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/229285
推荐阅读
相关标签
  

闽ICP备14008679号