目前在VSCode设置中,您可以配置格式保存如下:

"editor.formatOnSave": true

我想排除一些文件扩展名,例如只格式化JavaScript而不格式化HTML文件。


当前回答

在Mac上,使用⌘+ K, S

Linux操作系统使用“Ctrl + K S”

在Windows上,使用Ctrl + K Ctrl + Shift + S

查看VS Code键盘快捷键:Ctrl + K, Ctrl + S(是的,几乎和上面的一样),然后搜索“保存而不格式化”

其他回答

使用特定于语言的设置可以解决这个问题,但您将失去代码高亮显示

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}

我的解决方案是创建名为"的文件。在根和

键入要跳过自动格式化的文件名。在https://prettier.io/docs/en/ignore.html了解更多信息

这样,针对特定文件的自动格式化将被禁用,而且您也不会丢失代码高亮显示。

你可以使用特定于语言的设置来只针对特定的语言启用它,例如JavaScript:

"[javascript]": {
    "editor.formatOnSave": true
}

为了禁用特定语言,你可以将全局默认值切换为true,并将其与特定语言的false结合起来:

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}

注意,特定于语言的设置基于语言标识符,而不是直接基于文件扩展名。还有一个开放的功能请求允许文件扩展名特定的设置。

在语言ID不够具体的情况下,“文件。associations”可以用来将具有特定扩展名和/或特定目录中的文件重新映射到另一个ID,但这也会影响语法高亮显示、代码完成等。例如,这可以禁用out目录中的JavaScript文件格式化,但它们将被视为明文:

"[javascript]": {
    "editor.formatOnSave": true
},
"files.associations": {
    "**/out/**/*.js": "plaintext"
}

如果你遇到这个问题,因为你被重定向,因为这个问题VSCode:禁用格式化一个特定的文件(或扩展名),这是一个副本(我不觉得,因为我想要它为一个特定的文件),你正在寻找一个“一次性”解决方案:

VS Code有一个快捷方式“now”(我不知道从什么时候开始的)来保存一个文件而不格式化列出在命令workbench.action.files.saveWithoutFormatting -默认的键盘绑定应该是

CTRL + K CTRL + SHIFT + S 

(只需保持CTRL键,然后键入K + SHIFT + S)。

在OS X上,默认的键绑定是

CMD + k然后按s

你可以在Vscode中使用下面的设置,并使用“python.formatting”。autopep8Args”来指定文件或一些模式来忽略你想要的文件。当然,假设您正在使用autopep8来格式化您的python文件,其他代码格式化器可能有其他方法来配置此功能。

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "python.formatting.autopep8Args": ["--exclude settings.py"],
  "[python]": {
    "editor.defaultFormatter": "ms-python.python",
    "editor.formatOnSave": true
  }
}

在Mac上,使用⌘+ K, S

Linux操作系统使用“Ctrl + K S”

在Windows上,使用Ctrl + K Ctrl + Shift + S

查看VS Code键盘快捷键:Ctrl + K, Ctrl + S(是的,几乎和上面的一样),然后搜索“保存而不格式化”