【问题标题】:Turn off auto formatting for json files in Visual Studio Code在 Visual Studio Code 中关闭 json 文件的自动格式化
【发布时间】:2016-10-29 16:33:25
【问题描述】:

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

【问题讨论】:

  • 你安装了扩展吗?
  • @seairth -- 我安装了 prettify-json。我尝试禁用它,但没有奏效。
  • 尝试完全卸载扩展,重新启动 VSCode,然后查看行为是否消失。
  • 我不知道这里有什么建议。我无法在我的副本(v1.2.1)上复制它。查看 VSCode 源代码,stock install 应该只在执行明确的“代码格式”时格式化 JSON(例如 Windows 上的 Shift+Alt+F)。实际注册的命令是“editor.action.format”,所以也许你有另一个扩展在保存时执行该命令。一种测试方法可能是尝试安装不同的语言,看看它的行为是否相同。

标签: visual-studio-code


【解决方案1】:

禁用复选框以禁用代码格式化程序。

【讨论】:

    【解决方案2】:

    编辑:卸载扩展,还有许多其他维护得更好的格式化程序(例如 Beautify)

    好的,检查你是否安装了这个扩展:“JS-CSS-HTML formatter”。

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

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

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

    【讨论】:

    • 非常感谢!拯救了我的神经!这应该更加有前途,因为互联网上有很多帖子都在问同样的问题,而且 vscode 在设置中没有指向 formatter.json 的指针。
    • 天哪,我正在卸载这个 js-css-html 格式化程序扩展。这不仅会覆盖 vscode 的默认 onSave 格式选项,还会错误地格式化 js 文件,尤其是可选链接:obj?.prop?.prop
    • 正如@Binary 所说,只需卸载该死的 JS-HTML-CSS Formatter 扩展程序,问题就消失了。
    • @Binary 我太沮丧了,因为没有更改 vs 代码设置对我有用。然后我登陆了你的评论,发现了问题,谢谢!
    • 非常感谢!你救了我一整天
    【解决方案3】:

    如果是lonefy.vscode-js-css-html-formatter-0.2.3\out\src\formatter.json

    尝试申请:

    {
        "onSave": false,
        "javascript": {...
    ...
    }
    

    【讨论】:

      【解决方案4】:

      在 VS Code 中默认不格式化保存由 -

      完成

      在 Windows 上:
      第 1 步:按 CTRL + K 然后按
      第 2 步:按 CTRL + Shift + S

      在 MAC 上:
      第 1 步:按 CMD + K 然后按
      第 2 步:按 S

      【讨论】:

      • 如果您只是对文件进行少量更改并且不想弄乱格式化程序,这是最实用的答案。
      【解决方案5】:

      一站式解决方案

      解决方案 1

      配置.vscode文件夹下的settings.json文件,如果不存在,在项目根目录下创建一个即可。

      1.1 禁用所有文件的保存格式

      {
          "eslint.autoFixOnSave": false,
          "editor.formatOnSave": false
      }
      
      

      1.2 仅在保存.json 文件时禁用格式

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

      解决方案 2

      仅使用 VS Code GUI

      要打开您的用户和工作区设置,请使用以下 VS Code 菜单命令:

      在 Windows/Linux 上:File > Preferences > Settings 在 macOS 上:Code > Preferences > Settings

      2.1 打开工作区设置

      Command + Shift + P / Win + Shift + P

      2.2 搜索关键字(如json)并根据需要设置配置

      参考

      https://code.visualstudio.com/docs/getstarted/settings

      【讨论】:

        【解决方案6】:

        转到文件 -> 首选项 -> 设置 -> 搜索 Editor: Auto Indent 并从下拉菜单中选择 none

        也在 setting.json 中进行此更改 “editor.formatOnSave”:假,

        是的,这会起作用的......

        【讨论】:

          【解决方案7】:

          我正在使用以下版本的 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

          现在按照这些图片说明进行操作:

          1. 选择全部保存
          2. 重启 VS 代码

          【讨论】:

          • 如果此解决方案没有帮助,请尝试禁用 vscode-JS-CSS-HTML-formatter,这对我来说很有帮助。来源:github.com/Microsoft/vscode/issues/16055
          • 图片上的替代文字总比没有好,但图片中的说明不是很容易理解。以后请考虑在您的答案中加入文字说明信息。
          • 不,它不应该是公认的答案:问题是如何为 JSON 文件禁用它,这个答案为所有文件禁用它。
          【解决方案8】:

          值得注意的

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

          为此,我进行了更改并保存没有格式化

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

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

            • 这是让我头疼的设置。感谢分享!
            【解决方案10】:

            我的格式默认设置为 CMD k + s,以便 VS Code 无需格式化即可保存。你可以试试看

            【讨论】:

              【解决方案11】:

              在 Visual Studio Code 中,为了停止仅为您的 json 文件自动格式化,通过打开 用户设置 - 首选项,在 settings.json 文件中添加以下内容。

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

              【讨论】:

              • 应该是,是的。在 1.42.1 中,这没有效果。我必须在我想要自动格式化的所有其他格式中明确地将其设置为 true,除了 [json] :( 只要 editor.formatOnSave 对所有人都为 true(不在 [...] 块内),我就无法禁用它为json格式。
              • @Satria 感谢您的小而重要的评论为我节省了光年!
              • 我在 1.63.1 上,同样的事情在 yaml 文件上对我不起作用。我尝试了“[yml]”和“[yaml]”。
              【解决方案12】:

              在“project/.vscode/settings.json”中寻找Settings.json

              {
                  "editor.formatOnSave": false
              }
              

              【讨论】:

                猜你喜欢
                • 2010-10-18
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-09-05
                • 2022-08-10
                • 1970-01-01
                相关资源
                最近更新 更多