vs code配置vue自動格式化

kensoz發表於2021-01-24

 vs code配置vue自動格式化

我他媽的要被這個vs code的格式化逼瘋了。我在網上看了很多的文章,不是太老就是不好使,遇到太多坑了。
在這貼出自己的配置,雖然有多餘的程式碼,雖然可能在未來的更新中用不了,雖然功能不是十分完全,但是希望能幫助到被逼瘋的你。
希望大神能給我挑挑毛病,下面開始。


控制變數
目的:在你按了ctrl+s之後,根據規則自動格式化vue和js(ts)程式碼
vs code版本:最新版
npm版本:最新版
外掛
·ESLint
·Prettier
·vuter(這個東西我不確認在自動儲存上的有沒有作用,希望大神指點)
vue:2x
專案構建方法:腳手架,實測在複製過來的老webpack專案裡也可以
package.json關連依賴確認(是不是都起到作用就不知道了,望大神指點):

.eslintrc.js(配置了n遍之後的,估計裡面有多餘的程式碼)

module.exports = {
  root: true,

  env: {
    node: true,
    es6: true,
  },

  extends: [
    'plugin:vue/recommended',
    'eslint:recommended',
    'plugin:prettier/recommended',
  ],

  plugins: ['prettier'],

  parserOptions: {
    parser: 'babel-eslint',
    sourceType: 'module',
    ecmaVersion: 6,//js的版本
},
  rules: {
    quotes: [1, 'single'],//這個地方很迷,要為eslint配置類似於prettierrc的格式化程式碼,才會在vue的template中起作用
    'prettier/prettier': 'error',
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
  },
}

.prettierrc.js(配置了n遍之後的,估計裡面有多餘的程式碼)

module.exports = {
  tabWidth: 2,
  semi: false,
  singleQuote: true,
  endOfLine: 'auto',
  trailingComma: 'all',
  vueIndentScriptAndStyle: true,
}

setting.json

"editor.formatOnSave": true,
"files.autoSave": "off",
"editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
},

"[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
 "[vue]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},

"eslint.format.enable": true,
"eslint.options": {
    "extensions": [".js", ".vue"]
},
"eslint.validate": [
    "javascriptreact",
    "javascript",
    "html",
    "vue"
],

 

配置完之後就是作用於js和vue,點選儲存自動整形,有不符合規則的的寫法會報錯,完全錯誤的報紅色,不規範報黃色。
我知道還有很多不足,希望懂的大佬能給我一些指點。

相關文章