Heim > Entwicklungswerkzeuge > VSCode > So konfiguriert vscode eslint+prettier zum Formatieren von Vue-Code

So konfiguriert vscode eslint+prettier zum Formatieren von Vue-Code

青灯夜游
Freigeben: 2021-06-04 19:27:00
nach vorne
3552 Leute haben es durchsucht

In diesem Artikel erfahren Sie, wie Sie Vue-Code mit vscode+eslint+prettier formatieren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

So konfiguriert vscode eslint+prettier zum Formatieren von Vue-Code

Projekthintergrund: vue-cli

Installieren Sie zunächst diese drei Plug-Ins und konfigurieren Sie sie dann nach Bedarf gemäß der Konfigurationsliste Sie können jedes Format beim Speichern jedes Mal konfigurieren, aber jedes Mal, wenn Sie speichern, müssen Sie Strg+S mehrmals gedrückt halten, um es selbst gut zu formatieren : Sie können HTML, Standard-CSS (die Art mit Semikolons und geschweiften Klammern), Standard-JS (die Art mit Semikolons und doppelten Anführungszeichen), Vue-Dateien formatieren,

Aber! Die formatierte Standard-JS-Datei entspricht nicht der ESlint-Spezifikation und fügt doppelte Anführungszeichen, Semikolons usw. hinzu eslint. Es kümmert sich nur um formatierte Dateien (maximale Länge, gemischte Tags und Leerzeichen, Zitatstile usw.), einschließlich JavaScript · Flow · TypeScript · CSS · SCSS · Weniger · JSX · Vue · GraphQL · JSON · Markdown
  • 【Empfohlenes Lernen: „vscode Tutorial

    》,《
  • vue.js Tutorial
  • 》】

    vscode JSON-Konfigurationselement

    {
      // git路径
      "git.path": "D:/tool/Git/cmd/git.exe",
      "git.confirmSync": false,
      //.vue文件template格式化支持,并使用js-beautify-html插件
      "vetur.format.defaultFormatter.html": "js-beautify-html",
      "vetur.format.defaultFormatterOptions": {
        // 对属性进行换行。
        // - auto: 仅在超出行长度时才对属性进行换行。
        // - force: 对除第一个属性外的其他每个属性进行换行。
        // - force-aligned: 对除第一个属性外的其他每个属性进行换行,并保持对齐。
        // - force-expand-multiline: 对每个属性进行换行。
        // - aligned-multiple: 当超出折行长度时,将属性进行垂直对齐。
        "js-beautify-html": {
          "wrap_line_length": 120,
          "wrap_attributes": "auto",
          "end_with_newline": false
        },
        "prettier": {
          "semi": false, //不使用分号结尾
          "singleQuote": true, //使用单引号
          "eslintIntegration": true  //开启 eslint 支持
        }
      },
      //根据文件后缀名定义vue文件类型
      "files.associations": {
        "*.vue": "vue"
      },
      //保存自动格式化
      "editor.formatOnSave": true,
      //配置 ESLint 检查的文件类型
      "eslint.validate": [
        "javascript",
        "javascriptreact",
        "vue-html",
        {
          "language": "vue",
          "autoFix": true
        },
        {
          "language": "html",
          "aotoFix": true
        }
      ],
      "eslint.run": "onSave",
      //保存时eslint自动修复错误
      "eslint.autoFixOnSave": true,
      "files.autoSave": "afterDelay"
    }
    Nach dem Login kopieren
  • .eslinttrs.js-Konfiguration

    module.exports = {
      root: true,
      parserOptions: {
        parser: 'babel-eslint',
        sourceType: 'module'
      },
      env: {
        browser: true,
        node: true,
        es6: true,
      },
      extends: ['plugin:vue/recommended', 'eslint:recommended'],
     
      // add your custom rules here
      //it is base on https://github.com/vuejs/eslint-config-vue
      rules: {
        "vue/max-attributes-per-line": [2, {
          "singleline": 10,
          "multiline": {
            "max": 1,
            "allowFirstLine": false
          }
        }],
        "vue/singleline-html-element-content-newline": "off",
        "vue/multiline-html-element-content-newline":"off",
        "vue/name-property-casing": ["error", "PascalCase"],
        "vue/no-v-html": "off",
        'accessor-pairs': 2,
        'arrow-spacing': [2, {
          'before': true,
          'after': true
        }],
        'block-spacing': [2, 'always'],
        'brace-style': [2, '1tbs', {
          'allowSingleLine': true
        }],
        'camelcase': [0, {
          'properties': 'always'
        }],
        'comma-dangle': [2, 'never'],
        'comma-spacing': [2, {
          'before': false,
          'after': true
        }],
        'comma-style': [2, 'last'],
        'constructor-super': 2,
        'curly': [2, 'multi-line'],
        'dot-location': [2, 'property'],
        'eol-last': 2,
        'eqeqeq': ["error", "always", {"null": "ignore"}],
        'generator-star-spacing': [2, {
          'before': true,
          'after': true
        }],
        'handle-callback-err': [2, '^(err|error)$'],
        'indent': [2, 2, {
          'SwitchCase': 1
        }],
        'jsx-quotes': [2, 'prefer-single'],
        'key-spacing': [2, {
          'beforeColon': false,
          'afterColon': true
        }],
        'keyword-spacing': [2, {
          'before': true,
          'after': true
        }],
        'new-cap': [2, {
          'newIsCap': true,
          'capIsNew': false
        }],
        'new-parens': 2,
        'no-array-constructor': 2,
        'no-caller': 2,
        'no-console': 'off',
        'no-class-assign': 2,
        'no-cond-assign': 2,
        'no-const-assign': 2,
        'no-control-regex': 0,
        'no-delete-var': 2,
        'no-dupe-args': 2,
        'no-dupe-class-members': 2,
        'no-dupe-keys': 2,
        'no-duplicate-case': 2,
        'no-empty-character-class': 2,
        'no-empty-pattern': 2,
        'no-eval': 2,
        'no-ex-assign': 2,
        'no-extend-native': 2,
        'no-extra-bind': 2,
        'no-extra-boolean-cast': 2,
        'no-extra-parens': [2, 'functions'],
        'no-fallthrough': 2,
        'no-floating-decimal': 2,
        'no-func-assign': 2,
        'no-implied-eval': 2,
        'no-inner-declarations': [2, 'functions'],
        'no-invalid-regexp': 2,
        'no-irregular-whitespace': 2,
        'no-iterator': 2,
        'no-label-var': 2,
        'no-labels': [2, {
          'allowLoop': false,
          'allowSwitch': false
        }],
        'no-lone-blocks': 2,
        'no-mixed-spaces-and-tabs': 2,
        'no-multi-spaces': 2,
        'no-multi-str': 2,
        'no-multiple-empty-lines': [2, {
          'max': 1
        }],
        'no-native-reassign': 2,
        'no-negated-in-lhs': 2,
        'no-new-object': 2,
        'no-new-require': 2,
        'no-new-symbol': 2,
        'no-new-wrappers': 2,
        'no-obj-calls': 2,
        'no-octal': 2,
        'no-octal-escape': 2,
        'no-path-concat': 2,
        'no-proto': 2,
        'no-redeclare': 2,
        'no-regex-spaces': 2,
        'no-return-assign': [2, 'except-parens'],
        'no-self-assign': 2,
        'no-self-compare': 2,
        'no-sequences': 2,
        'no-shadow-restricted-names': 2,
        'no-spaced-func': 2,
        'no-sparse-arrays': 2,
        'no-this-before-super': 2,
        'no-throw-literal': 2,
        'no-trailing-spaces': 2,
        'no-undef': 2,
        'no-undef-init': 2,
        'no-unexpected-multiline': 2,
        'no-unmodified-loop-condition': 2,
        'no-unneeded-ternary': [2, {
          'defaultAssignment': false
        }],
        'no-unreachable': 2,
        'no-unsafe-finally': 2,
        'no-unused-vars': [2, {
          'vars': 'all',
          'args': 'none'
        }],
        'no-useless-call': 2,
        'no-useless-computed-key': 2,
        'no-useless-constructor': 2,
        'no-useless-escape': 0,
        'no-whitespace-before-property': 2,
        'no-with': 2,
        'one-var': [2, {
          'initialized': 'never'
        }],
        'operator-linebreak': [2, 'after', {
          'overrides': {
            '?': 'before',
            ':': 'before'
          }
        }],
        'padded-blocks': [2, 'never'],
        'quotes': [2, 'single', {
          'avoidEscape': true,
          'allowTemplateLiterals': true
        }],
        'semi': [2, 'never'],
        'semi-spacing': [2, {
          'before': false,
          'after': true
        }],
        'space-before-blocks': [2, 'always'],
        'space-before-function-paren': [2, 'never'],
        'space-in-parens': [2, 'never'],
        'space-infix-ops': 2,
        'space-unary-ops': [2, {
          'words': true,
          'nonwords': false
        }],
        'spaced-comment': [2, 'always', {
          'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
        }],
        'template-curly-spacing': [2, 'never'],
        'use-isnan': 2,
        'valid-typeof': 2,
        'wrap-iife': [2, 'any'],
        'yield-star-spacing': [2, 'both'],
        'yoda': [2, 'never'],
        'prefer-const': 2,
        'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
        'object-curly-spacing': [2, 'always', {
          objectsInObjects: false
        }],
        'array-bracket-spacing': [2, 'never']
      }
    }
    Nach dem Login kopieren
    Weitere Informationen zum Programmieren Wissen, besuchen Sie bitte : Programmiervideo
  • ! !

Das obige ist der detaillierte Inhalt vonSo konfiguriert vscode eslint+prettier zum Formatieren von Vue-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage