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


Answers:


190

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

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

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

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

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

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

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

很好的答案。但是有可能在保存在特定的python模块或文件夹上时应用格式吗?...解决方法是我在自己的vscode窗口中打开了该模块。
kerbrose

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

39

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

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

CTRL + K CTRL + SHIFT + S 

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

在OS X上,默认的绑定是

CMD + k 然后按 s


2
对此一无所知。谢谢!因此,我可以启用“ FormatOnSave”,但是如果我仍然想保存文件而不进行格式化,请按住Ctrl键,然后按K + Shift +S。太棒了!
Abhijit

1
在2020年1月的Linux上Ctrl + k,然后s
ryanrain

0

在Mac和Linux上,使用 Ctrl + K S

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.