如何从VSCode中的"保存时格式"中排除文件?

gab*_*ldo 77 visual-studio-code vscode-settings

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

"editor.formatOnSave": true
Run Code Online (Sandbox Code Playgroud)

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

Gam*_*a11 135

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

"[javascript]": {
    "editor.formatOnSave": true
}
Run Code Online (Sandbox Code Playgroud)

要为特定语言禁用它,您可以将全局默认值切换为true并将其与特定语言组合false:

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}
Run Code Online (Sandbox Code Playgroud)

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

如果语言ID不够具体,"files.associations"可以用于将具有特定扩展名和/或特定目录的文件重新映射到另一个ID,但这也会影响语法突出显示,代码完成等.例如,这将禁用out目录中JavaScript文件的格式化,但它们将被视为明文:

"[javascript]": {
    "editor.formatOnSave": true
},
"files.associations": {
    "**/out/**/*.js": "plaintext"
}
Run Code Online (Sandbox Code Playgroud)

  • 将 `*.in` 文件设置为纯文本 (`"files.associations": { "*.in": "plaintext" }` 的一个缺点是它会禁用代码突出显示。是否有任何方法可以禁用格式`*.in` 文件,但告诉它突出显示为某种语言? (3认同)

Joo*_*aan 15

在 Mac 上,使用\xe2\x8c\x98+ K,S

\n

在 Linux 上,使用Ctrl+K S

\n

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

\n

检查 VS Code 键盘快捷键:Ctrl+ KCtrl+ S(是的,几乎与上面相同)并搜索“保存而不格式化”

\n


Але*_*шер 11

如果您像我一样遇到这个问题,因为您因为这个问题而被重定向VSCode:禁用特定文件(或扩展名)的格式说明,这是重复的(我不这么认为,因为我想要一个特定文件),您正在寻找“一次性”解决方案:

VS Code具有快捷方式“ now”(现在不知道,从什么时候开始不知道),用于保存文件而不在命令下列出格式workbench.action.files.saveWithoutFormatting-默认键绑定应为

CTRL + K CTRL + SHIFT + S 
Run Code Online (Sandbox Code Playgroud)

(只需按住CTRL键,然后键入K + SHIFT + S)。

在OS X上,默认的绑定是

CMD + k 然后按 s

  • 在 2020 年 1 月的 Linux 上,它是“Ctrl + k”,然后只是“s” (7认同)
  • 或者使用“Cmd Shift P”进入快速命令并输入“save”..然后它将显示命令“保存而不格式化”。 (4认同)
  • 对此一无所知。谢谢!因此,我可以启用“ FormatOnSave”,但是如果我仍然想保存文件而不进行格式化,请按住Ctrl键,然后按K + Shift +S。太棒了! (2认同)

Rav*_*and 10

我用 VSCode 弄乱了我的键盘键。一种替代方法是使用 VSCode 命令来保存而不格式化,通过执行CTRL+SHIFT+P和执行 在此处输入图片说明命令。:)


小智 9

如果有人在保存 .env 或其他设置或环境文件时遇到自动格式化或格式化,并且它有一个长字符串导致错误,并且您正在寻找解决方案,

这是它(在您的 VS Code SETTINGS.JSON 中添加以下内容)

 "files.associations": {
    ".env": "plaintext"
},
"[plaintext]": {
    "editor.formatOnSave": false
},
Run Code Online (Sandbox Code Playgroud)