VSCode 中 *.vue 文件的自动格式化不起作用

时间:2021-07-26 07:53:42

标签: vue.js visual-studio-code vscode-settings

我正在 VSCode 1.58.2 中开发一个 Vue.js 项目。

一切顺利;但是 *.vue 文件在保存时不会自动格式化。

我的 .vscode/settings.json

{
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  },
  "editor.defaultFormatter": "octref.vetur",
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  "javascript.format.placeOpenBraceOnNewLineForControlBlocks": false,
  "javascript.format.placeOpenBraceOnNewLineForFunctions": false,
  "typescript.format.insertSpaceBeforeFunctionParenthesis": true,
  "typescript.format.placeOpenBraceOnNewLineForControlBlocks": false,
  "typescript.format.placeOpenBraceOnNewLineForFunctions": false
}

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

在你的 settings.json 你应该有:

  1. [vue]: {"editor.defaultFormatter": "octref.vetur"}

  2. "vetur.format.defaultFormatter.html": "js-beautify-html" 告诉 vue 如何格式化 <template>

  3. 完整配置:

{
    "editor.formatOnSave": true,
    "vetur.format.defaultFormatter.html": "js-beautify-html",
    "[vue]": {
        "editor.defaultFormatter": "octref.vetur"
    }  
}

注意:如果您有多个 .vue 文件的格式化程序,您必须指定使用哪个格式化程序,否则保存时格式将不知道使用哪个,并且默认不执行任何操作。这将选择“Vetur”作为默认值。

答案 1 :(得分:0)

尝试了一段时间后,我可以解决问题。我的修改 .vscode/settings.json:

{
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": true
  },
  "editor.defaultFormatter": "octref.vetur",
  "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
  "javascript.format.placeOpenBraceOnNewLineForControlBlocks": false,
  "javascript.format.placeOpenBraceOnNewLineForFunctions": false,
  "typescript.format.insertSpaceBeforeFunctionParenthesis": true,
  "typescript.format.placeOpenBraceOnNewLineForControlBlocks": false,
  "typescript.format.placeOpenBraceOnNewLineForFunctions": false,
  "[vue]": {
    "editor.defaultFormatter": "octref.vetur"
  }
}