VS Code + Node.js + Prettier自动格式化搞乱了字典键

drnojrws  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(138)

我正在使用VS Code进行Node.js开发。我已经安装了Prettier - Code格式化程序,下面是我的设置。

{
    "code-runner.saveAllFilesBeforeRun": true,
    "code-runner.executorMap": {
        "python": "/usr/bin/python3",
    },
    "prettier.useTabs": true,
    "editor.formatOnSave": true,
    "python.autoComplete.addBrackets": true,
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "editor.formatOnSave": true,
    },
    "prettier.trailingComma": "es5",
}

如果我在编辑器中启用editor.formatOnSave设置,它对于JavaScript设置为true,而defaultFormatter设置为prettier,那么我正在初始化的字典就会变得一团糟。
在保存之前,我的字典看起来是这样的(双引号内的authorization):

const blendConnection = {
    hostname: "api.beta.blendlabs.com",
    port: 443,
    path: "/home-lending/applications",
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Content-Length": loanData.length,
        "blend-target-instance": blendTargetInstance,
        "blend-api-version": blendApiVersion,
        "authorization": blendAuthorization,
    },
};

但是在用prettier保存或格式化文件后,引号被从字典中的authorization部分删除,这搞乱了我的代码。

const blendConnection = {
    hostname: "api.beta.blendlabs.com",
    port: 443,
    path: "/home-lending/applications",
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Content-Length": loanData.length,
        "blend-target-instance": blendTargetInstance,
        "blend-api-version": blendApiVersion,
        authorization: blendAuthorization,
    },
};

有什么建议为什么这可能会发生与漂亮的格式?这是一个bug,还是授权是一个关键字,扩展正在以它应该的方式修复它。我正在使用这个字典来初始化HTTP请求的头部,因此任何建议我如何使用prettier修复格式或初始化头部都将是有用的。

fumotvh3

fumotvh31#

你可以设置.prettierignore来忽略这个文件,这样它就不会格式化它。以下是官方文档的链接:https://prettier.io/docs/en/ignore.html

相关问题