在Visual Studio Code中关闭JSON文件的自动格式设置


84

我已经多次检查了我的偏好设置,并确保将所有与保存时格式化有关的选项都设置为false。但是,每次我保存一个.json文件时,我都会看到我的文件已格式化。


1
您安装了任何扩展程序吗?
出生

@seairth-我安装了prettify-json。我尝试禁用它,但是没有用。

2
尝试完全卸载扩展,重新启动VSCode,然后查看行为是否消失。
出生

已经尝试过了。:(这是我的设置:dropbox.com/s/oxqryk2ab35nno3/default-settings.json? dl

1
我不确定从这里提出什么建议。我无法在副本(v1.2.1)上复制它。通过VSCode源代码查看,库存安装仅应在执行明确的“代码格式”(例如Windows上的Shift + Alt + F)时格式化JSON。实际注册的命令是“ editor.action.format”,因此也许您有另一个扩展名正在保存时执行该命令。一种测试方法是尝试使用其他已安装的语言,然后查看其是否以相同的方式运行。
出生

Answers:


138

OK,请检查是否已安装此扩展:“ JS-CSS-HTML formatter”。

现在,如果有,请按CTRL+ SHIFT+ P,键入“ Formatter”,您应该会看到一个名为Formatter Config的选项。

选择该选项后,将打开一个名为formatter.json的文件,您所要做的就是将属性(名为onSave)从true更改为false。

重新启动vs代码,瞧瞧!!它停止了自动格式化。(好极了!!!!)


非常感谢!救了我的神经!这应该更加令人钦佩,因为互联网上有很多帖子问同样的问题,而vscode在Settings中没有指向formatter.json的指针。
ChristofKälin

43

在Visual Studio Code中,为了停止仅对json文件进行自动格式设置,请settings.json通过打开“用户设置”-“首选项”在文件中添加以下内容

{   
    "[json]": {
        "editor.formatOnSave": false   
    }
}

应该是的。在1.42.1中,此操作无效。我必须将所有其他格式明确地设置为true,但我想自动格式化,[json]除外:((一旦editor.formatOnSave对所有格式都正确(不在[...]块内),我无法将其禁用为JSON格式。
的Satria

19

我正在使用以下版本的VS Code

Version: 1.28.2 (user setup)
Commit: 7f3ce96ff4729c91352ae6def877e59c561f4850
Date: 2018-10-17T00:23:51.859Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

并通过以下步骤将其关闭:

  1. CTRL+SHIFT+P
  2. 类型 Settings
  3. 选择 Preferences: Open User Settings

现在,按照以下图像说明进行操作:

在settings.json中单击编辑 更改显示的用户设置值

  1. 选择全部保存
  2. 重新启动VS Code

2
如果此解决方案无济于事,请尝试禁用vscode-JS-CSS-HTML-formatter,这对我而言很有帮助。来源:github.com/Microsoft/vscode/issues/16055
Stepan Zakharov,

图像上的替代文本总比没有好,但是图像中的说明不是很容易获得。请考虑在将来的答案中添加文字说明信息。
TylerH


4

值得一提

喜欢默认情况下启用的json格式,但只想在编辑某些文件时将其禁用(即,我不希望格式化后扩展一些大型文件json文件)。

为此,我进行了更改并保存而未格式化

您可以进入vs代码键盘快捷键,查看Save without formatting设置为什么。就我而言(mac用户),CMD+K其后是S


2

除了此处的答案外,还有其他设置"editor.formatOnSave"可能会产生类似的效果,您可能还希望禁用这些设置-例如,我在用户首选项(settings.json)中启用了以下设置:

"editor.codeActionsOnSave": {
  "source.organizeImports": true
},

这是让我头疼的环境。感谢分享!
肯尼斯·林恩

2

在VS代码默认保存格式不被做

步骤1:按CTRL+,K然后
步骤2:按CTRL+ Shift+S


1

我的格式默认设置为CMD k +,以便VS Code保存而不格式化。你可以尝试一下

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.