首先vscode 中格式化代码的快捷键

alt +shift +f

需要安装的插件

1、Prettier

2、ESLint

3、Vetur

vscode配置步骤Ctrl+Shift+P
搜索settings.json
选择Prefrerences:Open Settings(JSON)
复制下面代码替换自己的settings.json文件
这是我自己用的配置,好用,发文做个备份吧,因为是不同的电脑使用

{
   
        "editor.fontSize": 16, //编辑器字体大小
        "python.pythonPath": "C:\\Users\\25071\\AppData\\Local\\Programs\\Python\\Python39\\python.exe",
        "code-runner.runInTerminal": true,
        "prettier.tabWidth": 8,
        "[vue]": {
   
                "editor.defaultFormatter": "octref.vetur"
        },
        "files.associations": {
   
                "*.cjson": "jsonc",
                "*.wxss": "css",
                "*.wxs": "javascript"
        },
        "emmet.includeLanguages": {
   
                "wxml": "html"
        },
        "minapp-vscode.disableAutoConfig": true,
        "workbench.tree.indent": 4,
        "prettier.useTabs": true,
        "editor.detectIndentation": false,
        "[javascript]": {
   
                "editor.defaultFormatter": "vscode.typescript-language-features"
        },
        "vetur.format.options.tabSize": 8,
        "editor.renderWhitespace": "none",
        "editor.renderControlCharacters": true,
        "editor.tabSize": 8,
        "editor.minimap.enabled": true,
        "workbench.iconTheme": "vscode-icons",
        "explorer.confirmDelete": false,
        "workbench.editorAssociations": [
                {
   
                        "viewType": "jupyter.notebook.ipynb",
                        "filenamePattern": "*.ipynb"
                }
        ],
        "files.autoSave": "afterDelay",
        "workbench.editor.enablePreview": false, //打开文件不覆盖
        "javascript.format.insertSpaceBeforeFunctionParenthesis": true, //让函数(名)和后面的括号之间加个空格
        "vetur.format.defaultFormatter.html": "js-beautify-html", //格式化.vue中html
        "vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化
        "vetur.format.defaultFormatterOptions": {
   
                "js-beautify-html": {
   
                        "wrap_attributes": "force-aligned" //属性强制折行对齐
                },
                "prettier": {
   
                        "semi": false,
                        "singleQuote": true
                },
                "vscode-typescript": {
   
                        "semi": false,
                        "singleQuote": true
                }
        },

}

也可以参考下面代码,自己修改

{
   
    "editor.fontSize": 17,//编辑器字体大小
    "[scss]": {
   
        "editor.defaultFormatter": "michelemelluso.code-beautifier"
    },//scss格式化工具
    "workbench.iconTheme": "vscode-icons",//vscode文件图标主题
    "terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",//默认终端shell
    "go.formatTool": "goimports",//golang格式化工具
    "editor.defaultFormatter": "esbenp.prettier-vscode", //编辑器格式化工具
    "[javascript]": {
   
      "editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
    },//javascript格式化工具
    "[vue]": {
   
      "editor.defaultFormatter": "octref.vetur"
    },//vue格式化工具
    "editor.insertSpaces": false,
    "workbench.editor.enablePreview": false, //打开文件不覆盖
    "search.followSymlinks": false, //关闭rg.exe进程
    "editor.minimap.enabled": false, //关闭快速预览
    "files.autoSave": "afterDelay", //编辑自动保存
    "editor.lineNumbers": "on", //开启行数提示
    "editor.quickSuggestions": {
   
      //开启自动显示建议
      "other": true,
      "comments": true,
      "strings": true
    },
    "editor.tabSize": 2, //制表符符号eslint
    "editor.formatOnSave": true, //每次保存自动格式化
    // "eslint.codeActionsOnSave": {
   
    // "source.fixAll.eslint": true
    // },
    "prettier.eslintIntegration": true, //让prettier使用eslint的代码格式进行校验
    "prettier.semi": true, //去掉代码结尾的分号
    "prettier.singleQuote": false, //使用单引号替代双引号
    "javascript.format.insertSpaceBeforeFunctionParenthesis": true, //让函数(名)和后面的括号之间加个空格
    "vetur.format.defaultFormatter.html": "js-beautify-html", //格式化.vue中html
    "vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化
    "vetur.format.defaultFormatterOptions": {
   
      "js-beautify-html": {
   
        "wrap_attributes": "force-aligned" //属性强制折行对齐
      },
      "prettier": {
   
        "semi": false,
        "singleQuote": true
      },
      "vscode-typescript": {
   
        "semi": false,
        "singleQuote": true
      }
    },
    "eslint.validate": [
      "vue",
      // "javascript",
      "typescript",
      "typescriptreact",
      "html"
    ],
    "editor.codeActionsOnSave": {
   
      "source.fixAll.eslint": true
    }
}

配置完成之后直接按快捷键就可以格式化代码了,格式化后的代码风格如下:

配置参考:

https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
https://www.jianshu.com/p/d98e0b0139fb?utm_source=oschina-app
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=octref.vetur