menu Chancel's blog
rss_feed
Chancel's blog
有善始者实繁,能克终者盖寡。

VSCode格式化Javascript自动带分号问题

作者:Chancel Yang, 创建:2021-06-15, 字数:865, 已阅:38, 最后更新:2021-06-15

这篇文章更新于 1123 天前,文中部分信息可能失效,请自行甄别无效内容。

当我们使用VSCODE自动格式化JavaScript时,通常会使用到VeTur和Prettier两款插件进行格式化,但我的项目是两个,一个基于Flask搭建的API系统(通过meta引入Vue),一个基于Vue-Cli搭建的SPA应用

这个时候设置项就很奇怪了,在非Vue文件里,需要在设置setting.json中添加如下prettier配置,可强制所有HTML文件的JavaScript不带分号

JSON
{
  "python.linting.pylintEnabled": true,
   ......
  "prettier.semi": false, // 使用prettier格式化HTML文件时不带分号  
  "prettier.singleQuote": true, // 使用prettier格式化HTML文件时强制使用单引号
   ......
}

当你的项目是Vue脚手架搭建的时候,上面的设置又是无效的,因为使用到VeTur进行格式化Vue文件,所以需要把prettier设置项引入vetur.format.defaultFormatterOptions

JSON
{
    "window.zoomLevel": 0,
    ......
    "vetur.format.defaultFormatter.js": "vscode-typescript",
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "semi": false,          // 使用prettier格式化HTML文件时不带分号
            "singleQuote": true     // 使用prettier格式化HTML文件时强制使用单引号
        },
        ......
    },
}

[[replyMessage== null?"发表评论":"发表评论 @ " + replyMessage.m_author]]

account_circle
email
web_asset
textsms

评论列表([[messageResponse.total]])

还没有可以显示的留言...
gravatar
[[messageItem.m_author]] [[messageItem.m_author]]
[[messageItem.create_time]]
[[getEnviron(messageItem.m_environ)]]
[[subMessage.m_author]] [[subMessage.m_author]] @ [[subMessage.parent_message.m_author]] [[subMessage.parent_message.m_author]]
[[subMessage.create_time]]
[[getEnviron(messageItem.m_environ)]]