VSCode中使用vetur插件格式化vue文件时,js代码会被添加上分号且单引号会转变为双引号

发布于 2022-09-06 08:20:30 字数 990 浏览 15 评论 0

由于vetur插件报错找不到某某组件,于是卸载重装。 装回后插件不再报错,但是格式化vue代码时,会执行两条多余的规则(与未重装之前比较):

  • 自动为js代码加上分号结束符
  • 自动将单引号变换为双引号

由于在配置(setting.json)中未找到相应的配置,故很疑惑,应如何取消掉以上两条规则?


2018/11/29 更新

//VSCODE扩展当前时间的最新版
vscode version: 1.29.1
prettier version: 1.7.2
vetur version: 0.14.2

也会出现上述问题,解决办法:修改 User Settings

  "vetur.format.defaultFormatterOptions": {
    "js-beautify-html": {
      // force-aligned | force-expand-multiline
      "wrap_attributes": "force-aligned"
    },
    "prettyhtml": {
      "printWidth": 100,
      "singleQuote": false,
      "wrapAttributes": false,
      "sortAttributes": true
    },
    // --- 解决问题 ---
    "prettier": {
        "semi": false,
        "singleQuote": true
    }
    // --- 解决问题 ---
  },
一定要在vutur.defaultFormatterOptions参数中设置,单独修改prettier扩展的设置是无法解决这个问题的,因为perttier默认忽略了vue文件(事实上从忽略列表移除vue也不能解决这个问题)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

极度宠爱 2022-09-13 08:20:30

这是因为在VSCode1.7.2中替换了内置格式化插件。解决办法是在VScode设置(setting.json)中,配置如下规则

{
   "prettier.singleQuote": true,
   "prettier.semi": false,
   "vetur.format.defaultFormatter.html": "js-beautify-html",
   "vetur.format.defaultFormatterOptions": {
      "wrap_attributes": "force-aligned"
    }
}

即可解决题主问题。详情见 vuejs/vetur#476

夏雨凉 2022-09-13 08:20:30
"vetur.format.defaultFormatter.js": "vscode-typescript",
"vetur.format.defaultFormatter.html": "js-beautify-html"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文