menu Chancel's blog
rss_feed
Chancel's blog
我就是这样的人

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

作者:Chancel, 时间:2022 May 26, 阅读:32

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

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

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

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

{
    "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]])

还没有可以显示的留言...
[[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)]]